尝试使用 Like 语句时遇到问题:

首先我有数据表:

当我执行 Sql 命令时,它不会执行我想要的操作。

我的语法:

select * from tbUsers where nUserID like N'%p%';

它不显示任何结果。虽然我知道 'Finds any values that have' p 'in any position'

结果图:

我创建表的代码:
Create table tbUsers(
iIDUser int identity(1,1) not null primary key,
nUserID nvarchar(50) null,
nPassWord nvarchar(50) null,
dDate datetime null,
nName nvarchar(50) null
)
INSERT INTO tbUsers(nUserID,nPassword,nName) VALUES('phuc','123456', 'Phuc Nguyen')
INSERT INTO tbUsers(nUserID,nPassword) VALUES('ngocanh','123456')
INSERT INTO tbUsers(nUserID,nPassword) VALUES('long','123456')
INSERT INTO tbUsers(nUserID,nPassword) VALUES('long%ngocanh','123456')
INSERT INTO tbUsers(nUserID,nPassword) VALUES('phuc nguyen','123456')

请帮我。谢谢你。

最佳答案

由于您使用的是越南语排序规则,因此您无法取回行。你可以很容易地在你的查询中指定排序规则,它会返回你正在寻找的行。

select *
from tbUsers
where nUserID collate SQL_Latin1_General_CP1_CI_AS like N'%p%';

关于sql-server - SQLServer 2005 没有做正确的事情,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50451883/

10-12 17:18