“整理”是什么意思?


15

我正在从一本书中学过sqlite,该书多次提到排序规则和排序规则。在数据库世界中到底意味着什么?

Answers:


15

基本上,如何对字符串进行排序和比较。

例子:

比较:

  • 口音:àvsävs a
  • 案例:A vs a

排序:

  • 瑞典语:z->å->ä->ö
  • 丹麦文:z->æ->ø->å

特殊字符对等

  • 德语ß= ss

维基百科

一些SQL(SQL Server 2008+)

DECLARE @foo TABLE (bar varchar(2))
INSERT @foo VALUES ('z'), ('æ'), ('ø'), ('å'), ('ss'), ('ß'), ('a'), ('ä')

SELECT * FROM @foo ORDER BY bar COLLATE Finnish_Swedish_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Norwegian_100_CI_AS
SELECT * FROM @foo ORDER BY bar COLLATE Latin1_General_100_CS_AS --german (western europe) and default
SELECT * FROM @foo ORDER BY bar COLLATE German_PhoneBook_100_CS_AS

1

词源

“整理”最好在etymology.com上定义,

14c。后期,“集合和比较的行为”

在过去的600年中,它完全没有改变。“整理”是指“汇集”,无论是按时间顺序排列还是按照数据库顺序排列,都是相同的。

计算机科学

由于它适用于计算机科学,所以我们正在做的是将存储机制与订购分开。您可能听说过ASCII-betical。那是指基于ASCII字符的二进制编码的比较。在该系统中,存储和排序规则是相同的。如果ASCII标准化的“编码”曾经更改过,那么“排序规则”(顺序)也会改变。

POSIX开始用打破这一点LC_COLLATE。但是,当我们进入Unicode时,也出现了一个联盟来标准化排序规则:ICU。

的SQL

在SQL规范中,有两个扩展可提供排序规则,

  • F690:“整理支持:

    包括collation namecollation clausecollation definitiondrop collation

  • F692:扩展的整理支持,

    包括将其他默认排序规则附加到架构中的列。

本质上,它们提供了CREATEDROP归类的功能,可以为运算符和排序指定它们并为列定义默认值。

有关SQL必须提供哪些内容的更多信息,

例子

这里没有粘贴一个有限的示例,而是PostgreSQL测试套件,它相当广泛。至少检查第一个链接并寻找'Türkiye' COLLATE "tr-x-icu" ILIKE '%KI%' AS "false"


-2

排序。整理打孔卡。整理平面文件记录。这不是数据库独有的。

它对于文本是不言自明的,但是对于以字符形式存储的二进制数据,可能会比较棘手。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.