gpt4 book ai didi

sql-server - SQL Server 2005 没有做正确的事

转载 作者:行者123 更新时间:2023-12-03 01:35:45 25 4
gpt4 key购买 nike

尝试使用像这样的 Like 语句时遇到问题:

首先我有数据表:

Image Data

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

我的语法:

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

它没有显示任何结果。虽然我知道'查找任何位置有'p'的任何值'

结果图片:

result

我的创建表的代码:

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_Latin1_General_CP1_CI_AS 重新创建数据库,因为此查询会很慢。

还要考虑如果您在用户列中有一个使用双%%的索引,这将不会让您的索引被使用。如果您仅使用 1%,则索引将被激活。查看执行计划来回顾这一点。

如果想保留越南语排序规则,可以将排序规则更改为此类功能所需的列。这将有助于您提高性能。

要更改列的排序规则,请使用

ALTER TABLE MyTable ALTER COLUMN Column1 [TYPE] COLLATE [NewCollation]

您可以查看此问题以了解更多详细信息

How to set collation of a column with SQL?

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com