我数据库的默认语言设置为SQL_Latin1_General_CP1_CI_AS
。
我希望返回name
字段包含其他语言字符(如阿拉伯语或中文)的结果:
Albraاابومحمد
我在WHERE子句中尝试了以下代码,但结果集始终为空:
a.Name NOT LIKE '%[^A-z]%'
PATINDEX('%[A-Z,0-9]%',a.Name) > 0
ASCII(a.Name) NOT BETWEEN 65/* A */ and 90/* Z */
AND ASCII(a.Name) NOT BETWEEN 97 /* a */ AND 122 /* z */
a.Name COLLATE SQL_Latin1_General_CP1_CI_AS NOT LIKE '%[^0-9a-zA-Z]%'
更新
我正在使用SQL Server 2012(不是SQL Server 2005.)我在“how to select rows that contains non-english characters in sql server 2005(it should filter only non-english chars, not special characters)”的已接受答案中尝试了该代码,但它在我的数据库中不起作用。