Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 排序是什么意思?_Sql_Sql Server 2005_Tsql_Mysql - Fatal编程技术网

Sql 排序是什么意思?

Sql 排序是什么意思?,sql,sql-server-2005,tsql,mysql,Sql,Sql Server 2005,Tsql,Mysql,排序规则在SQL中意味着什么?它做什么?排序可以简单地看作是排序顺序 在英语中(奇怪的是,它是美国的表亲),排序可能是一个相当简单的问题,包括按ASCII码排序 一旦你进入那些带有口音和其他特征的奇怪的欧洲语言,排序规则就会改变。例如,a的不同重音形式可能存在于不同的代码点,但它们可能都需要像是同一个字母一样进行排序。 排序是将书面信息汇编成标准顺序。(…)排序算法(如)通过比较两个给定字符串并决定哪个字符串应位于另一个字符串之前的过程来定义顺序 排序规则是SQL server决定如何排序和比较

排序规则在SQL中意味着什么?它做什么?

排序可以简单地看作是排序顺序

在英语中(奇怪的是,它是美国的表亲),排序可能是一个相当简单的问题,包括按ASCII码排序

一旦你进入那些带有口音和其他特征的奇怪的欧洲语言,排序规则就会改变。例如,
a
的不同重音形式可能存在于不同的代码点,但它们可能都需要像是同一个字母一样进行排序。

排序是将书面信息汇编成标准顺序。(…)排序算法(如)通过比较两个给定字符串并决定哪个字符串应位于另一个字符串之前的过程来定义顺序


排序规则是SQL server决定如何排序和比较文本的方式


请参阅。

排序规则确定数据的排序和比较方式。在国际化方面,这通常非常重要,例如,如何对日文汉字进行排序


如果你在谷歌上搜索排序规则和sql server,你会发现很多文章都在讨论它

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

例如,如果希望所有字母都不同(例如,如果在
UNIX
中存储文件名),则使用
UTF8\u-BIN
排序规则:

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

---
0
SELECT  'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI

---
1
如果要忽略大小写和变音符号的差异(例如,对于搜索引擎),请使用
UTF8\u GENERAL\u CI
排序规则:

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

---
0
SELECT  'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI

---
1

如您所见,此排序规则(比较规则)将大写字母
A
和小写字母
A
视为同一个字母,忽略大小写和变音符号的差异。

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

例如,它定义了如何处理

  • 重音(
    äa
    等)
  • 案例(
    Aa
  • 语言背景:
    • 在法文校勘中,
      cote
    • 在SQL Server Latin1的默认设置中,
      cote
  • ASCII排序(二进制排序规则)
在一些西欧语言中,除了“重音字母的排序与非重音字母的排序不同”之外,您还必须考虑字母组,有时字母组的排序也不同

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

  • 卡巴洛
  • 辛科
  • 科奇
  • 查尔科
  • 巧克力
  • 丘埃科
  • 护墙板
  • (……)
  • 兰帕拉
  • 卢埃戈
  • 兰塔
  • 卢维亚
  • 马德拉
请注意,所有以c开头的单词都在一起,除了以ch开头的单词在之后,与所有以l开头的单词后面的ll开头的单词一样。这是你会在旧字典和百科全书中看到的顺序,有时甚至是今天由非常保守的组织进行的

皇家语言学院改变了这一点,使西班牙语更容易适应计算机世界。尽管如此,ñ仍然被认为是与n不同的字母,在它之后,在o之前。这是一个顺序正确的列表:

  • 纳米比亚
  • 努梅罗
  • ú和ú
  • 尼努
  • 奥布拉
  • 奥霍

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

排序意味着为字母表中的字符指定某种顺序,例如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 string sorts)会利用它对字符串进行排序

    排序规则是用于比较字符集中字符的一组规则。它还规定了字符的排序,两个字符的正确顺序因语言而异。 比较两个字符串的排序规则,例如,如果一个单词大于另一个单词,则相应地进行排序

    如果您使用的是“latin1”字符集,则可以使用“latin1_swedish_ci”排序规则


    您必须选择正确的排序规则,因为错误的排序规则可能会影响您的数据库性能。

    本文确实解释了这一切。@Joe Pineda。也许它确实解释了这一切,但读者想知道这一切吗?或者读者可能只是想要一个简洁、可靠的答案,涵盖最基本、最常用的排序元素和功能,以便他/她能够快速阅读并继续完成任何任务,任务或项目首先引发了一个问题?@T.J.Crowder我理解其中的讽刺意味。不同的口音通常意味着它们需要像不同的字母一样进行排序——例如,
    e
    ë
    e
    ě
    ,以及
    è
    为了排序的目的可能是不同的字母(但搜索时可能是同一个字母,该死的那些疯狂的欧洲人。)@Piskvor:你的信息中的坐标不是指向某个国家的字母表使用了
    42
    字母,
    15
    其中有变音符号吗?@Quassnoi:是的,还有?我是在暗示我没有疯吗;o) (虽然感谢上帝让我使用Unicode,但如果我还必须使用特定于国家的字符集,我会彻底疯掉)@Piskvor:对不起,对不起,你简直疯了!:)它是仅用于排序还是也用于
    其中st='aaa'
    ?@gbn:顺便提一下,排序规则在MSSQL和MySQL中的工作方式非常相似