gpt4 book ai didi

sql-server - SQL LIKE 运算符不适用于亚洲语言 (SQL Server 2008)

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

亲爱的 friend 们,我遇到了一个从未想过的问题。我的问题似乎太简单了,但我找不到解决方案。我有一个 NVarchar 类型的 SQL Server 数据库列,并填充了标准波斯语字符。当我尝试对其运行一个包含 LIKE 运算符的非常简单的查询时,结果集变为空,尽管我知道查询项存在于表中。这是一个非常简单的示例查询,但它的行为不正确:SELECT * FROM T_Contacts WHERE C_ContactName LIKE '%ف%'

ف 是一个波斯字符,ContactName 可以包含多个包含该字符的条目。

请告诉我应该如何重写表达式或者应该应用什么更改。请注意,我的数据库的排序规则是 SQL_Latin1_General_CP1_CI_AS。

非常感谢

最佳答案

此外,如果这些值存储为 NVARCHAR(我希望它们是!!),您应该始终使用 N'..' 任何字符串文字的前缀,以确保您不会发生任何不需要的转换回非 Unicode VARCHAR

所以你应该搜索:

SELECT * FROM T_Contacts 
WHERE C_ContactName COLLATE Persian_100_CI_AS LIKE N'%ف%'

关于sql-server - SQL LIKE 运算符不适用于亚洲语言 (SQL Server 2008),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4698704/

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