T-SQL匹配特殊字符。 Pre应该匹配Pré
问题描述:
我有一个公司名称列表,用户必须输入他的公司名称才能进入系统。假设我们有公司“PréABC”,现在我希望用户能够输入“Pre”或“Pré”。T-SQL匹配特殊字符。 Pre应该匹配Pré
首先,我认为这是LIKE语句的内置功能,但不幸的是它不是。有什么想法吗?
答
这与排序规则有关。每个数据库都有自己的排序规则(任何列也可以覆盖该排序规则)。就你而言,你正在寻找一个不区分重音的归类,而不区分大小写。尝试将数据库配置为“SQL_Latin1_General_CP1_CI_AI
”。这解码为“代码页1,不区分大小写,不区分变音”,这应使您的查询按需工作。
答
SELECT 1
WHERE N'Pré ABC' COLLATE LATIN1_GENERAL_CI_AI LIKE N'%Pre%'
这真的很有趣,我几天前才读到这个,并且遇到了这个问题。 适合我在这个问题上的审查;) – Sung 2009-07-15 15:53:11