在SQL数据库的文本中搜索阿拉伯数字

时间:2019-07-14 11:38:24

标签: sql sql-server tsql collation

我的表中有一个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

1 个答案:

答案 0 :(得分:0)

很多评论都表明。这里的窍门是使用前缀N''。 我发现一个问题,询问有关N''前缀的信息,您可以在其中阅读有关"What is the meaning of the prefix N in T-SQL statements?"的信息,这应该可以解决您的问题。