Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


BETWEEN10

📄字数 1.3K
👁️阅读量 加载中...

功能描述

返回字符串 expr1 是否落在 [expr2, expr3) 区间内的结果,如果是,则返回 TRUE;否则返回 FALSE

语法格式

sql
BETWEEN10(expr1, expr2, expr3)

输入参数

  • expr1:字符表达式,TINYINTSMALLINTINTEGERBIGINTFLOATDOUBLENUMERICDATEDATETIMEDATETIME WITH TIME ZONETIMETIME WITH TIME ZONEINTERVALVARCHARROWVERSION 类型,或能隐式转换为上述类型的其他类型。
  • expr2:字符表达式,TINYINTSMALLINTINTEGERBIGINTFLOATDOUBLENUMERICDATEDATETIMEDATETIME WITH TIME ZONETIMETIME WITH TIME ZONEINTERVALVARCHARROWVERSION 类型,或能隐式转换为上述类型的其他类型。
  • expr3:字符表达式,TINYINTSMALLINTINTEGERBIGINTFLOATDOUBLENUMERICDATEDATETIMEDATETIME WITH TIME ZONETIMETIME WITH TIME ZONEINTERVALVARCHARROWVERSION 类型,或能隐式转换为上述类型的其他类型。

提示

  • NULL 无具体的类型,所以当所有参数均为 NULL 时,会产生异常 E10100 候选函数出现多义性,需要手动为参数指定具体的类型,如:BETWEEN10(NULL::INTEGER, NULL::INTEGER, NULL::INTEGER)
  • 输入参数的类型原则上应该保持一致,如果不一致,内部会根据参数匹配评分算法,选择一个最优类型的函数。‌
  • INTERVAL 类型的详细使用说明,请参考 时间间隔类型

输出结果

返回 BOOLEAN 类型,任一输入参数为 NULL 时,输出结果为 UNKNOWN

示例

以字符集为UTF-8的数据库为例:

sql
-- 返回字符 '1' 是否大于等于 '2' 并且小于 '3' 的比较结果(比较ASCII码)
SQL> SELECT BETWEEN10('1', '2', '3');

+-------+
| EXPR1 |
+-------+
| F     |
+-------+

-- 返回字符串 '张三' 是否大于等于 '张' 并且小于 '李飞' 的比较结果(比较UTF8字符集编码)
SQL> SELECT BETWEEN10('张三', '张', '李飞');

+-------+
| EXPR1 |
+-------+
| T     |
+-------+

-- 返回时间 '20:30:10.123' 是否大于等于 '20:30:10.0' 并且小于 '20:30:10.123' 的比较结果
SQL> SELECT BETWEEN10('20:30:10.123'::TIME, '20:30:10.0'::TIME, '20:30:10.123'::TIME);

+-------+
| EXPR1 |
+-------+
| F     |
+-------+