我的表中有一个NVARCHAR类型的字符串列,该字符串列存储阿拉伯文本,其中包含阿拉伯字母,例如:جهاز٦٠للخدمة
问题是搜索时无法检索到该数据
declare @textdesc as nvarchar(70) = 'جهاز ٦٠ للخدمة'
Select *
from table1 t1 left join table2 t2
on t1.prmkey = t2.frgnkey
where t1.text LIKE '%'+@textdesc+'%'
但是当我通过@textdesc以外的任何其他字段进行搜索时,它将阿拉伯数字转换为英文数字
جهاز 60 للخدمة
搜索结果中的。我没有用阿拉伯数字存储在数据库中的文本。我不知道为什么会这样。你能帮我解决这个问题吗?
我试图通过
进行搜索where @textdesc LIKE N'%' +@textdesc + '%'
它也不起作用。
我的数据库排序规则是Arabic_CI_AS
答案 0 :(得分:0)
很多评论都表明。这里的窍门是使用前缀N''。 我发现一个问题,询问有关N''前缀的信息,您可以在其中阅读有关"What is the meaning of the prefix N in T-SQL statements?"的信息,这应该可以解决您的问题。