像我在使用“?”时查询无效字符

时间:2014-07-07 05:53:44

标签: sql sql-server

我的SQL查询就像这样

create table Manager(id int, managerid varchar(3) , managername varchar(50))

insert into Manager(id,managerid,managername)values(123,'A12','Mangesh')
insert into Manager(id,managerid,managername)values(54321,'A23','Sagar')
insert into Manager(id,managerid,managername)values(334,'C34','Ahmad')
insert into Manager(id,managerid,managername)values(456,'A45','Mango')
insert into Manager(id,managerid,managername)values(567,'B56','Sandesh')

我喜欢的查询就是这个

select * from Manager where id LIKE '%4321%'

这个查询给了我这条记录

id     managerid  managername 
54321  A23        Sagar

但是当我尝试运行这种查询时,它并没有给我任何记录,即零记录计数,但实际上有一条记录 查询是:

select * from Manager where id LIKE '%?4321%'

这有什么问题?

sql fiddle sql query

2 个答案:

答案 0 :(得分:8)

使用_而非?表示wildcard表示"任何单个字符"。

答案 1 :(得分:4)

试试这个:

SELECT * FROM Manager WHERE id LIKE '%_4321%'