0

我的数据库上的默认语言设置为SQL_Latin1_General_CP1_CI_AS.

我希望返回name字段包含其他语言字符的结果,例如阿拉伯语或中文):

阿尔布拉 ابومحمد

我在 WHERE 子句中尝试了以下代码,但结果集始终为空:

  1. a.Name NOT LIKE '%[^A-z]%'
  2. PATINDEX('%[A-Z,0-9]%',a.Name) > 0

  3. ASCII(a.Name) NOT BETWEEN 65/* A */ and 90/* Z */ AND ASCII(a.Name) NOT BETWEEN 97 /* a */ AND 122 /* z */

  4. a.Name COLLATE SQL_Latin1_General_CP1_CI_AS NOT LIKE '%[^0-9a-zA-Z]%'

更新

我使用的是 SQL Server 2012(不是 SQL Server 2005。)我尝试了接受答案中的代码“如何在 sql server 2005 中选择包含非英语字符的行(它应该只过滤非英语字符,而不是特殊字符) characters) " 但它不适用于我的数据库。

4

0 回答 0