整理是什么意思?
SQL中的sorting规则是什么意思,它有什么作用?
整理可以简单地认为是sorting顺序。
在英文(这是美国的表亲,这是很奇怪的),sorting可能是一个非常简单的事情,由ASCII代码sorting组成。
一旦你进入那些具有所有口音和其他特征的奇怪的欧洲语言,sorting规则就会改变。 例如,虽然a的不同重音forms可能存在于不同的代码点,但是它们可能都需要被sorting,就好像它们是相同的字母一样。
除了一些西欧语言的“重音字母sorting不同于不重音的字母”之外,还必须考虑到有时sorting不同的字母组 。
传统上,在西class牙语中,“ch”本身被认为是一个字母,与“ll”(两者都代表一个音素)相同,因此一个列表可以像这样sorting:
- 卡瓦略
- 辛科
- 科切
- 查科
- 巧克力
- chueco
- 墙裙
- (……)
- Lampara的
- luego
- llanta
- lluvia
- 马德拉
注意所有以单个c开始的单词一起走,除了以ch开头的单词之后 ,和起始单词l之后的所有单词相同。 这是你将在旧字典和百科全书中看到的顺序,有时甚至是今天非常保守的组织。
皇家语言学院改变了这一点,使西class牙语更容易适应计算机世界。 尽pipe如此, ñ仍被认为是一个不同于n的字母,并且在o之后 。 所以这是一个正确的有序列表:
- 纳米比亚
- NÚMERO
- 南都
- NU
- OBRA
- 大椎
通过select正确的sorting规则,您可以自动完成所有这些工作:-)
说明如何比较和sortingstring的规则:字母顺序; 案件是否重要,是否变音符号等等。
例如,如果您希望所有的字母都不相同(比如说,如果您在UNIX
存储文件名),则使用UTF8_BIN
整理:
SELECT 'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN --- 0
如果你想忽略大小写和变音符号的区别(比如search引擎),你可以使用UTF8_GENERAL_CI
归类:
SELECT 'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI --- 1
正如你所看到的,这个sorting规则(比较规则)认为大写字母A
和低位字母是同一个字母,忽略大小写和变音符号的区别。
sorting定义了如何sorting和比较string值
例如,它定义了如何处理
- 口音(
äàa
等) - 案例(
Aa
) - 语言环境:
- 在法语整理中,
cote < côte < coté < côté.
- 在SQL Server Latin1默认情况下,
cote < coté < côte < côté
- 在法语整理中,
- ASCIIsorting(二进制sorting)
整理意味着将一些命令分配给字母表中的字符,比如ASCII或Unicode等。
假设你的字母有3个字符 – {A,B,C}。 您可以通过为字符分配整数值来为其定义一些示例sorting规则
- 示例1 = {A = 1,B = 2,C = 3}
- 示例2 = {C = 1,B = 2,A = 3}
- 例3 = {B = 1,C = 2,A = 3}
事实上,你可以定义n! 字母大小为n的sorting规则。 给定这样的命令,不同的sorting例程喜欢LSD / MSDstringsorting利用它来sortingstring。
整理确定您的数据如何sorting和比较。 关于国际化,这常常是重要的,例如,如何对日本汉字进行分类?
如果你谷歌整理和SQL服务器,你会发现很多文章讨论它!
请参考本文:sorting规则是一组用于比较字符集中的字符的规则。 它还规定了字符的sorting,两个字符的顺序因语言而异。 归类比较两个string,如果一个字大于另一个字,并相应地进行sorting。
如果使用“latin1”字符集,则可以使用“latin1_swedish_ci”sorting规则。
您必须select正确的归类,因为错误的归类可能会影响您的数据库性能。
sorting规则是SQL服务器如何决定如何sorting和比较文本。
请参阅MSDN 。
http://en.wikipedia.org/wiki/Collation
整理是将书面信息汇编成标准的顺序。 (…)sortingalgorithm(如Unicodesortingalgorithm)通过比较两个给定string的过程来定义一个顺序,并确定哪个应该在另一个之前。