当我使用LIKE时,SQL Server返回错误的结果

时间:2014-06-05 08:23:10

标签: sql sql-server search sql-like

我创建了一个新的数据库"TEST",在其中添加了一个新表"tblTest"和一列"Name"

插入一些记录:Minh,Tinh,Justin

create database TEST
go
use test
go
create table tblTest (Name varchar(50))
go
insert tblTest values ('Minh')
insert tblTest values ('Tinh')
insert tblTest values ('Justin')

然后我运行此查询

Select * from tblTest where Name like '%in%'

结果是:贾斯汀。 (Minh和Tinh不显示)

任何人都可以告诉我如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

尝试此查询是否有效并提供必要的输出。

with tblTest as
(
   Select 'Minh' name from dual union
   Select 'Tinh' name from dual union
   Select 'Justin' name from dual 
)
Select * from tblTest where Name like '%in%'

否则,使用

删除tblTest中的所有记录
DELETE from tblTest;

然后将记录插入,

INSERT INTO TBLTEST (NAME) VALUES ('Minh');
INSERT INTO TBLTEST (NAME) VALUES ('Tinh');
INSERT INTO TBLTEST (NAME) VALUES ('Justin');

现在再次尝试执行您的选择查询。 正如@podiluska指出的那样,可能会有一些外国垃圾角色。

答案 1 :(得分:0)

检查此示例,它会根据需要提供您的结果。第一个%用于前面,前一个%用于成功。

declare @t table (name varchar(50))
insert into @t values('Minh'),('Tinh'),('Justin')

Select * from @t where Name like '%in%'

结果将是

name
Minh
Tinh
Justin