比较函数
比较规则
以下比较函数返回 0 或 1,类型为 UInt8。只能比较相同类型的值(例如 UInt16 和 UInt64),不能跨类型比较(例如 UInt16 和 DateTime)。数字和字符串之间可以比较,字符串和日期之间也可以比较,日期和时间之间也可以比较。对于元组和数组,比较方式是词法顺序,这意味着比较将针对左侧和右侧元组/数组的每个对应元素进行。
可以比较以下类型
- 数字和十进制数
- 字符串和定长字符串
- 日期
- 包含时间的日期
- 元组(词法顺序比较)
- 数组(词法顺序比较)
字符串是逐字节比较的。如果其中一个字符串包含 UTF-8 编码的多字节字符,这可能会导致意外的结果。一个字符串 S1,如果它包含另一个字符串 S2 作为前缀,则被认为比 S2 更长。
等于
引入于:v1.1
比较两个值是否相等。
语法
参数
返回值
如果 a 等于 b,则返回 1,否则返回 0 UInt8
示例
使用示例
大于
引入于:v1.1
比较两个值是否大于关系。
语法
参数
返回值
如果 a 大于 b,则返回 1,否则返回 0 UInt8
示例
使用示例
大于等于
引入于:v1.1
比较两个值是否大于等于关系。
语法
参数
返回值
如果 a 大于或等于 b,则返回 1,否则返回 0 UInt8
示例
使用示例
不相同
引入于:v25.11
执行两个值的空安全“不等于”比较。如果值不同(不相等),包括当一个值为 NULL 且另一个不为 NULL 时,则返回 true。如果值相等,或者两者都为 NULL,则返回 false。
语法
参数
返回值
如果两个值不同,则返回 true,将 NULL 视为可比较的
- 如果 x != y,则返回
true。 - 如果 x 或 y 中恰好有一个为 NULL,则返回
true。 - 如果 x = y,或者 x 和 y 都为 NULL,则返回
false。Bool
示例
数字和 NULL 的基本用法
相同
引入于: v25.10
执行两个值的空安全“等于”比较。如果值相等,包括两者都为 NULL 时,则返回 true。如果值不同,或者其中一个为 NULL,则返回 false。
语法
参数
返回值
如果两个值相等,则返回 true,将 NULL 视为可比较的
- 如果 x = y,则返回
true。 - 如果 x 和 y 都为 NULL,则返回
true。 - 如果 x != y,或者 x 或 y 中恰好有一个为 NULL,则返回
false。Bool
示例
数字和 NULL 的基本用法
小于
引入于:v1.1
比较两个值是否小于关系。
语法
参数
返回值
如果 a 小于 b,则返回 1,否则返回 0 UInt8
示例
使用示例
小于等于
引入于:v1.1
比较两个值是否小于等于关系。
语法
参数
返回值
如果 a 小于或等于 b,则返回 1,否则返回 0 UInt8
示例
使用示例
不等于
引入于:v1.1
比较两个值是否不相等。
语法
参数
返回值
如果 a 不等于 b,则返回 1,否则返回 0。 UInt8
示例
使用示例