- 类别:
[ NOT ] BETWEEN¶
当输入表达式(数值或字符串)在指定的下限和上限范围内时,返回 TRUE。
语法¶
实参¶
expr输入表达式。
lower_bound下限。
upper_bound上限。
返回¶
该函数返回 BOOLEAN 类型的值。
使用说明¶
expr BETWEEN lower_bound AND upper_bound等效于:samp:{expr} >= {lower_bound} AND {expr} <= {upper_bound}。实参值的数据类型必须相同或 兼容。
如果该函数隐式地将值转换为不同的数据类型,则可能会返回意想不到的结果。
例如,当
expr为 TIMESTAMP 值,lower_bound和upper_bound值为 DATE 值时,DATE 值被隐式转换为 TIMESTAMP 值,时间设置为00:00:00。对于以下 WHERE 子句,假设timestamp_column是表中类型为 TIMESTAMP 的列:当 DATE 值被隐式转换时,WHERE 子句解读如下:
使用此 WHERE 子句,该函数将在 2025 年 4 月 31 日几乎为所有
timestamp_column值返回FALSE,这可能不是预期结果。为避免此特定问题,您可以指定调用函数时间upper_bound的第二天:
排序规则详细信息¶
表达式 A BETWEEN X AND Y 等效于 A >= X AND A <= Y。用于比较 X 和 Y 的排序规则是独立的,不需要完全相同,但两者都需要与 A 的排序规则兼容。
示例¶
下列是将 BETWEEN 与数值和字符串值结合使用的几个简单示例:
以下示例将 COLLATE 与 BETWEEN 结合使用: