Sql server 如何在SQL Server查询中使用LIKE提取特定ID行
我有一个关于这个SQL脚本的问题,我需要您的帮助 我有以下数据的记录:Sql server 如何在SQL Server查询中使用LIKE提取特定ID行,sql-server,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
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,我不想看到以AB开头的ID。我使用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的建议
谢谢试试这个
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开头。试试这个
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开头。请参见第一个查询,您需要使用OR语句而不是AND 如下:
SELECT ID
FROM TableID
WHERE ID LIKE 'ABI%'OR ID LIKE 'OPEI%' OR ID LIKE 'TI%'
请参阅第一个查询,您需要使用OR语句而不是AND 如下:
SELECT ID
FROM TableID
WHERE ID LIKE 'ABI%'OR ID LIKE 'OPEI%' OR ID LIKE 'TI%'
您只需将“和”改为“或”:
您只需将“和”改为“或”:
从TableID中选择ID,其中ID像'ABI%'
看起来很正确。你能解释一下它的输出是如何错误的吗?谢谢,从我的问题中你会看到我尝试使用该查询,我有其他ID,如TI,OPEI,将被排除,这就是为什么我调整问题“这没有返回预期的输出,因为它包含AB,所以我尝试了显示所有记录的这个”。不,没有。您的查询是正确的,您的假设是错误的。从TableID中选择ID,其中ID像'ABI%'
看起来是正确的。你能解释一下它的输出是如何错误的吗?谢谢,从我的问题中你会看到我尝试使用该查询,我有其他ID,如TI,OPEI,将被排除,这就是为什么我调整问题“这没有返回预期的输出,因为它包含AB,所以我尝试了显示所有记录的这个”。不,没有。您的提问是正确的,您的假设是错误的。非常感谢,我只是意识到我的问题可能不会呈现其他ID,如OPEI、TI和其他,如果我使用您的建议,这些ID将被排除在外,这就是我再次调整问题的原因,我希望能得到您的帮助。thanks@Abraham1973这就是你在调整问题中要求的,不是吗?非常感谢,我只是意识到我的问题可能不会呈现其他ID,如OPEI、TI和其他,如果我使用你的建议,这些ID将被排除在外,这就是我再次调整问题的原因,我希望能得到你的帮助。thanks@Abraham1973这就是你在调整问题中要求的,不是吗?非常感谢,我只是意识到我的问题可能不会呈现其他ID,如OPEI、TI和其他,如果我使用你的建议,这些ID将被排除在外,这就是我再次调整问题的原因,我希望能得到你的帮助。谢谢谢谢,我只是意识到我的问题可能不会呈现其他ID,如OPEI、TI和其他,如果我使用您的建议,这些ID将被排除在外,这就是我再次调整问题的原因,我希望能得到您的帮助。谢谢