UINT 整理序列

、概述

UINT 整理序列是 SQLite 的一个可加载扩展,它实现了一个新的整理序列,该序列以数字顺序比较包含无符号整数的文本。

UINT 整理顺序不是 SQLite 的标准部分。它必须作为单独的扩展加载。UINT 的源代码位于 SQLite 源代码树 的ext/misc/ 文件夹中的uint.c 源文件 中。

UINT 整理序列不包含在 SQLite 库的标准构建中,但它在CLI中默认加载。这是典型的CLI,它加载各种扩展,超出标准 SQLite 库中可用的扩展。

UINT 整理序列的工作方式与文本的默认 BINARY 整理序列一样,只是嵌入的数字字符串按数字顺序进行比较。

  • 前导零处理得当,因为它们不会混淆嵌入数字串的大小比较。“x00123y”等于“x123y”。

  • 仅识别无符号整数。忽略加号和减号。忽略小数点和指数符号。

  • 嵌入的整数可以是任意长度。比较不限于可以表示为 64 位机器整数的整数。

2.例子:

COLLATE binaryCOLLATE uint
'0000123457'
'123456'
'abc0000000010xyz'
'abc0010xyy'
'abc10xzz'
'abc674xyz'
'abc87xyz'
'abc9xyz'
'123456'
'0000123457'
'abc9xyz'
'abc0010xyy'
'abc0000000010xyz'
'abc10xzz'
'abc87xyz'
'abc674xyz'