gpt4 book ai didi

sql - 修改搜索以使其在 SQL Server 中不区分重音

转载 作者:行者123 更新时间:2023-12-04 15:46:22 24 4
gpt4 key购买 nike

我有一个当前排序规则为 French_CI_AS 的数据库,这意味着搜索不区分大小写,但区分重音。我的印象是将数据库的排序规则更改为 French_CI_AI 可以解决我的问题,所以我就这样做了。但是,我仍然无法使简单的搜索工作 Accent-Insensitive。查了一下,表的排序规则是French_CI_AI,可能是随着数据库的变化而改变的。

有没有什么方法可以在所有数据库上使用 Accent insensitive 进行搜索?或者有什么办法可以这样进行一次搜索吗?我只有一两个需要它的存储过程,所以我可以那样做。

以防万一,我寻找的数据类型都是 nvarchar(n)s。

谢谢

最佳答案

您可以使搜索使用您想要的任何排序规则,例如

WHERE column COLLATE FRENCH_CI_AI LIKE '%something%' COLLATE FRENCH_CI_AI

但是我怀疑如果您实际修复该列(当您更改数据库排序规则时并没有发生这种情况),它会工作得更好。排除任何约束和其他依赖项,如何解决此问题的简短回答:

ALTER TABLE dbo.foo ADD newcol NVARCHAR(32) COLLATE FRENCH_CI_AI;

UPDATE dbo.foo SET newcol = oldcol;

ALTER TABLE dbo.foo DROP COLUMN oldcol;

EXEC sp_rename N'dbo.foo.newcol', N'oldcol', 'COLUMN';

关于sql - 修改搜索以使其在 SQL Server 中不区分重音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11631783/

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