Sql 排序是什么意思?
排序规则在SQL中意味着什么?它做什么?排序可以简单地看作是排序顺序 在英语中(奇怪的是,它是美国的表亲),排序可能是一个相当简单的问题,包括按ASCII码排序 一旦你进入那些带有口音和其他特征的奇怪的欧洲语言,排序规则就会改变。例如,Sql 排序是什么意思?,sql,sql-server-2005,tsql,mysql,Sql,Sql Server 2005,Tsql,Mysql,排序规则在SQL中意味着什么?它做什么?排序可以简单地看作是排序顺序 在英语中(奇怪的是,它是美国的表亲),排序可能是一个相当简单的问题,包括按ASCII码排序 一旦你进入那些带有口音和其他特征的奇怪的欧洲语言,排序规则就会改变。例如,a的不同重音形式可能存在于不同的代码点,但它们可能都需要像是同一个字母一样进行排序。 排序是将书面信息汇编成标准顺序。(…)排序算法(如)通过比较两个给定字符串并决定哪个字符串应位于另一个字符串之前的过程来定义顺序 排序规则是SQL server决定如何排序和比较
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排序(二进制排序规则)
- 卡巴洛
- 辛科
- 科奇
- 查尔科
- 巧克力
- 丘埃科
- 护墙板
- (……)
- 兰帕拉
- 卢埃戈
- 兰塔
- 卢维亚
- 马德拉
- 纳米比亚
- 努梅罗
- ú和ú
- 尼努
- 奥布拉
- 奥霍
通过选择正确的排序规则,您可以自动完成所有这一切:-)排序意味着为字母表中的字符指定某种顺序,例如ASCII或Unicode等 假设你的字母表中有3个字符-{A,B,C}。您可以通过为字符指定整数值来定义一些示例排序规则
您必须选择正确的排序规则,因为错误的排序规则可能会影响您的数据库性能。本文确实解释了这一切。@Joe Pineda。也许它确实解释了这一切,但读者想知道这一切吗?或者读者可能只是想要一个简洁、可靠的答案,涵盖最基本、最常用的排序元素和功能,以便他/她能够快速阅读并继续完成任何任务,任务或项目首先引发了一个问题?@T.J.Crowder我理解其中的讽刺意味。不同的口音通常意味着它们需要像不同的字母一样进行排序——例如,
e
,ë
,e
,ě
,以及è
为了排序的目的可能是不同的字母(但搜索时可能是同一个字母,该死的那些疯狂的欧洲人。)@Piskvor:你的信息中的坐标不是指向某个国家的字母表使用了42
字母,15
其中有变音符号吗?@Quassnoi:是的,还有?我是在暗示我没有疯吗;o) (虽然感谢上帝让我使用Unicode,但如果我还必须使用特定于国家的字符集,我会彻底疯掉)@Piskvor:对不起,对不起,你简直疯了!:)它是仅用于排序还是也用于其中st='aaa'
?@gbn:顺便提一下,排序规则在MSSQL和MySQL中的工作方式非常相似