如何使用LIKE提取SQL Server查询中的特定ID行

时间:2018-12-06 04:42:49

标签: sql-server

我在此SQL脚本方面遇到这个问题,希望得到您的帮助。

我有包含以下数据的记录:

ID         AGE
-----------------
AB1001      20
AB1002      21
OPEI112     12
ABI1001     25
ABI1002     28
OPEI220     14
AB1003      30
TI2100      19
AB1004      32
ABI1003     26
ABI1004     10

我想显示所有以 ABI,OPEI,TI 开头的ID。我不想看到以 {{1 }} 。我使用SQL AB语句,我尝试了以下操作:

SELECT

这没有返回预期的输出,因为它包含 AB ,所以我尝试了显示所有记录的操作

SELECT ID 
FROM TableID 
WHERE ID LIKE 'ABI%'AND ID LIKE 'OPEI%' AND ID LIKE 'TI%'

这也没有返回预期的结果,因为它也排除了带有 ABI 的ID,但是显示了所有记录。

我需要任何建议来显示所有记录ID,而不显示 SELECT ID FROM TableID WHERE ID NOT LIKE 'AB%'

谢谢

3 个答案:

答案 0 :(得分:1)

尝试一下

create table #temp (id varchar(20), age int)
insert into #temp values 
('AB1001', '20'), ('AB1002', 21), ('ABI1001', 25), ('ABI1002', 28), ('AB1003', 30), ('AB1004', 32),
('ABI1003', 26), ('ABI1004', 10)

select * from #temp where id like 'ABI%'

drop table #temp

输出如下

id      age
ABI1001 25
ABI1002 28
ABI1003 26
ABI1004 10

所有ID均以ABI开头。

答案 1 :(得分:1)

查看第一个查询,您需要使用OR语句代替AND

如下,

SELECT ID 
FROM TableID 
WHERE ID LIKE 'ABI%'OR ID LIKE 'OPEI%' OR ID LIKE 'TI%'

答案 2 :(得分:0)

您只需要将“ AND”更改为“ OR”:

SELECT ID 
FROM TableID 
WHERE ID LIKE 'ABI%'
    OR ID LIKE 'OPEI%' 
    OR ID LIKE 'TI%';