2013-02-07 203 views
1

为什么下面的查询返回一行:SQL LIKE查询返回行

select * from (
select 'th' As Test1) as Test 
where Test1 like '%þ%' 

我使用下列归类:Latin1_General_CI_AS

þ被评估为LIKE th

+0

我认为这是整理。 [DEMO](http://sqlfiddle.com/#!3/d41d8/8561)没有排序规则的第二个查询将返回没有结果结果 – Kaf

回答

4

所有的问题都通过this link在维基百科回答。 Thorn信函和有向图th在您使用的排序规则中被认为是相同的。它与希腊theta字符θ相似。

+0

谢谢,我使用的排序规则是:Latin1_General_CI_AS。以下网页告诉我代码页是1252:http://msdn.microsoft.com/en-gb/library/ms186356(v=sql.100).aspx。以下是维基百科的代码页文档:http://en.wikipedia.org/wiki/Windows-1252。 T,H和Thorn是不同的角色? – w0051977

+0

@ w0051977,在冰岛,t,h和þ被认为是不同的字母(见http://en.wikipedia.org/wiki/Icelandic_language) - 我所说的是,在这里遵循的整理强制规则是治疗_sequence_“th”和“þ”等同。由于您使用的排序规则是不区分大小写,区分重音的,因此可能是CI位执行此操作。 – paxdiablo