整理意味着什么?

LOV*_*ING 131 mysql sql t-sql sql-server-2005

整理在SQL中意味着什么,它的作用是什么?

pax*_*blo 56

整理可以简单地视为排序顺序.

在英语中(并且它是奇怪的堂兄,美国人),整理可能是一个非常简单的问题,包括ASCII码的排序.

一旦你进入那些奇怪的欧洲语言及其所有的口音和其他功能,整理就会发生变化.例如,虽然不同的重音形式a可能存在于不同的代码点,但它们可能都需要按照它们是相同的字母进行排序.

  • 不同的口音通常意味着它们需要被分类,好像它们是*不同的*字母 - 例如`e`,`ë`,`é`,```和`è`*可能*是不同的字母,用于订购(但在搜索时可能是同一个字母,该死的那些疯狂的欧洲人;)). (4认同)
  • @Quassnoi:是的,是吗?我暗示任何我不疯狂的地方吗?; o)(虽然感谢上帝的Unicode,如果我仍然需要使用特定国家的字符集,我会疯狂的疯狂) (4认同)
  • @Piskvor:对不起,对不起,你真是太疯狂了!:) (3认同)

Joe*_*eda 42

除了在某些西欧语言中"重音字母的排序方式与非重音字母不同"之外,您还必须考虑字母,有时这些字母的排序也不同.

传统上,在西班牙语中,"ch"本身被认为是一个字母,与"ll"(两者都代表单个音素)相同,因此列表将按如下方式排序:

  • 卡瓦略
  • 辛科
  • 科切
  • 查科
  • 巧克力
  • chueco
  • 墙裙
  • (......)
  • Lampara的
  • luego
  • llanta
  • lluvia
  • 马德拉

请注意,所有的字开头的单Ç一起去,除了开始的话CH哪去了他们同样与LL后开始与一个单一的所有的话里面去-starting词.这是您在旧词典和百科全书中看到的顺序,有时甚至是非常保守的组织.

皇家语言学院改变了这一点,使西班牙语更容易适应计算机世界.尽管如此,ñ仍然被认为是比一个不同的字母ñ,去后,它和之前Ø.所以这是一个正确排序的列表:

  • 纳米比亚
  • NÚMERO
  • 南都
  • NU
  • OBRA
  • 大椎

通过选择正确的排序规则,您可以自动完成所有这些操作:-)

  • @CB看一下整理的"AI"或"AS"部分(Accent Insensitive and Accent Sensitive). (2认同)

Qua*_*noi 13

告诉如何比较和排序字符串的规则:字母顺序; 案件是否重要,变音符号是否重要等

例如,如果您希望所有字母都不同(例如,如果您将文件名存储在其中UNIX),则使用UTF8_BIN排序规则:

SELECT  'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN

---
0
Run Code Online (Sandbox Code Playgroud)

如果您想忽略大小写和变音符号差异(例如,对于搜索引擎),则使用UTF8_GENERAL_CI排序规则:

SELECT  'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI

---
1
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这种排序规则(比较规则)会考虑大写A和低位ä相同的字母,忽略大小写和变音符号差异.


gbn*_*gbn 10

排序规则定义了如何对字符串值进行排序和比较

例如,它定义了如何处理

  • 口音(äàa等)
  • 案例(Aa)
  • 语言背景:
    • 在法国整理中, cote < côte < coté < côté.
    • 在SQL Server Latin1默认情况下, cote < coté < côte < côté
  • ASCII排序(二进制排序规则)


Mur*_*han 5

整理是指为字母中的字符分配某种顺序,例如ASCII或Unicode等。

假设您的字母中有3个字符-{A,B,C}。您可以通过为字符分配整数值来为其定义一些示例排序规则

  1. 示例1 = {A = 1,B = 2,C = 3}
  2. 示例2 = {C = 1,B = 2,A = 3}
  3. 示例3 = {B = 1,C = 2,A = 3}

实际上,您可以定义n!大小为n的字母上的排序规则。给定这样的顺序,像LSD / MSD字符串排序之类的不同排序例程会利用它来对字符串进行排序。