【发布时间】:2011-05-18 04:48:12
【问题描述】:
您好,我正在尝试通过执行以下查询来查找我的数据库 (SQL Server) 中文本中包含字符 é 的所有行。
SELECT COUNT(*) FROM t_question WHERE patindex(N'%[\xE9]%',question) > 0;
SELECT COUNT(*) FROM t_question WHERE patindex(N'%[\u00E9]%',question) > 0;
但是我发现了两个问题:(a)它们都返回不同数量的行,(b)它们返回的行没有指定的字符。
我构造正则表达式和比较 Unicode 的方式是否正确?
编辑:
问题列使用数据类型nvarchar 存储。
以下查询给出了正确的结果。
SELECT COUNT(*) FROM t_question WHERE question LIKE N'%é%';
【问题讨论】:
标签: regex sql-server-2005 unicode ascii