首页 > 解决方案 > 如何使用 LIKE 在 SQL Server 查询中提取特定 ID 行

问题描述

我有这个关于这个 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我不想看到以 . 开头的 ID AB。我使用 SQLSELECT语句,我尝试了以下方法:

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

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

SELECT ID 
FROM TableID 
WHERE ID NOT LIKE 'AB%'

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

我需要任何可以显示所有记录 ID 的建议AB

谢谢

标签: sql-server

解决方案


尝试这个

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 开头。


推荐阅读