整理意味着什么?

整理在SQL中意味着什么,它的作用是什么?     
已邀请:
整理可以简单地视为排序顺序。 在英语中(并且它是奇怪的堂兄,美国人),整理可能是一个非常简单的问题,包括ASCII码的排序。 一旦你进入那些奇怪的欧洲语言及其所有的口音和其他功能,整理就会发生变化。例如,尽管
a
的不同重音形式可能存在于不同的代码点,但它们可能都需要被排序,就好像它们是相同的字母一样。     
除了在某些西欧语言中“重音字母的排序方式与非重音字母不同”之外,您还必须考虑字母组,有时这些字母的排序也不同。 传统上,在西班牙语中,“ch”本身被认为是一个字母,与“ll”(两者都代表单个音素)相同,因此列表将按如下方式排序: 卡瓦略 辛科 科切 查科 巧克力 chueco 墙裙 (......) Lampara的 luego llanta lluvia 马德拉 请注意所有以单个c开头的单词一起出现,除了以ch开头的单词,除了以l开头的单词,这些单词在以单个l开头的所有单词之后。这是您在旧词典和百科全书中看到的顺序,有时甚至是非常保守的组织。 皇家语言学院改变了这一点,使西班牙语更容易适应计算机世界。尽管如此,ñ仍然被认为是一个与n不同的字母,并且在它之后,在o之前。所以这是一个正确排序的列表: 纳米比亚 NÚMERO 南都 NU OBRA 大椎 通过选择正确的排序规则,您可以自动完成所有这些操作:-)     
告诉如何比较和排序字符串的规则:字母顺序;案件是否重要,变音符号是否重要等 例如,如果您希望所有字母都不同(例如,如果您将文件名存储在
UNIX
中),则使用
UTF8_BIN
整理:
SELECT  'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN

---
0
如果您想忽略大小写和变音符号差异(例如,对于搜索引擎),则使用
UTF8_GENERAL_CI
整理:
SELECT  'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI

---
1
正如您所看到的,这种整理(比较规则)将资本
A
和lowecase
ä
视为相同的字母,忽略了大小写和变音符号差异。     
排序规则定义了如何对字符串值进行排序和比较 例如,它定义了如何处理 口音(
äàa
等) 案例(
Aa
) 语言背景: 在法国的整理,
cote < côte < coté < côté.
在SQL Server Latin1默认情况下,
cote < coté < côte < côté
ASCII排序(二进制排序规则)     
整理意味着为字母表中的字符分配一些顺序,比如ASCII或Unicode等。 假设您的字母表中有3个字符 - {A,B,C}。您可以通过为字符分配整数值来为其定义一些示例排序规则 例1 = {A = 1,B = 2,C = 3} 例2 = {C = 1,B = 2,A = 3} 例3 = {B = 1,C = 2,A = 3} 事实上,你可以定义n!字母大小为n的整理。给定这样的顺序,不同的排序例程喜欢LSD / MSD字符串排序使用它来排序字符串。     
排序规则确定数据的排序和比较方式。在国际化方面,这通常很重要,例如:你怎么排序日本汉字? 如果你谷歌整理和SQL服务器,你会发现很多文章讨论它!     
参考本文: 排序规则是一组用于比较字符集中字符的规则。它还统治了字符的排序,两个字符的正确顺序因语言而异。 Collat​​ion比较了两个字符串,如果一个单词大于另一个单词,则进行相应的排序。 如果您使用“latin1”字符集,则可以使用“latin1_swedish_ci”排序规则。 您必须选择正确的排序规则,因为错误的排序规则可能会影响数据库性能。     
http://en.wikipedia.org/wiki/Collat​​ion   整理是将书面信息汇编成标准订单。 (...)诸如Unicode校对算法之类的校对算法通过比较两个给定字符串并确定哪个应该先于另一个字符串的过程来定义顺序。     
排序规则是SQL服务器如何决定如何排序和比较文本。 请参阅MSDN。     

要回复问题请先登录注册