BETWEEN10
📄字数 1.3K
👁️阅读量 加载中...
功能描述
返回字符串 expr1
是否落在 [expr2, expr3)
区间内的结果,如果是,则返回 TRUE
;否则返回 FALSE
。
语法格式
sql
BETWEEN10(expr1, expr2, expr3)
输入参数
expr1
:字符表达式,TINYINT
、SMALLINT
、INTEGER
、BIGINT
、FLOAT
、DOUBLE
、NUMERIC
、DATE
、DATETIME
、DATETIME WITH TIME ZONE
、TIME
、TIME WITH TIME ZONE
、INTERVAL
、VARCHAR
、ROWVERSION
类型,或能隐式转换为上述类型的其他类型。expr2
:字符表达式,TINYINT
、SMALLINT
、INTEGER
、BIGINT
、FLOAT
、DOUBLE
、NUMERIC
、DATE
、DATETIME
、DATETIME WITH TIME ZONE
、TIME
、TIME WITH TIME ZONE
、INTERVAL
、VARCHAR
、ROWVERSION
类型,或能隐式转换为上述类型的其他类型。expr3
:字符表达式,TINYINT
、SMALLINT
、INTEGER
、BIGINT
、FLOAT
、DOUBLE
、NUMERIC
、DATE
、DATETIME
、DATETIME WITH TIME ZONE
、TIME
、TIME WITH TIME ZONE
、INTERVAL
、VARCHAR
、ROWVERSION
类型,或能隐式转换为上述类型的其他类型。
提示
- 因
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 |
+-------+