BETWEEN11
📄字数 1.3K
👁️阅读量 加载中...
功能描述
返回字符串 expr1
是否落在 [expr2, expr3]
区间内的结果,如果是,则返回 TRUE
;否则返回 FALSE
。
语法格式
sql
BETWEEN11(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 候选函数出现多义性
,需要手动为参数指定具体的类型,如:BETWEEN11(NULL::INTEGER, NULL::INTEGER, NULL::INTEGER)
。 - 输入参数的类型原则上应该保持一致,如果不一致,内部会根据参数匹配评分算法,选择一个最优类型的函数。
INTERVAL
类型的详细使用说明,请参考 时间间隔类型。
输出结果
返回 BOOLEAN
类型,任一输入参数为 NULL
时,输出结果为 UNKNOWN
。
示例
以字符集为UTF-8的数据库为例:
sql
-- 返回数值 29.9 是否大于等于 20.9 并且小于等于 30.1 的比较结果
SQL> SELECT BETWEEN11(29.9, 20.9, 30.1);
+-------+
| EXPR1 |
+-------+
| T |
+-------+
-- 返回字符串 'as' 是否大于等于 'a' 并且小于等于 's' 的比较结果(比较ASCII码)
SQL> SELECT BETWEEN11('as', 'a', 's');
+-------+
| EXPR1 |
+-------+
| T |
+-------+
-- 返回时间 '20:30:10.123' 是否大于等于 '20:30:10.0' 并且小于等于 '20:30:10.123' 的比较结果
SQL> SELECT BETWEEN11('20:30:10.123'::TIME, '20:30:10.0'::TIME, '20:30:10.123'::TIME);
+-------+
| EXPR1 |
+-------+
| T |
+-------+