- 类别:
TO_BOOLEAN¶
将输入文本或数值表达式转换为布尔值。对于 NULL 输入,输出为 NULL。
- 另请参阅:
语法¶
TO_BOOLEAN( <text_or_numeric_expr> )
使用说明¶
对于文本表达式,字符串必须为:
'true'
、't'
、'yes'
、'y'
、'on'
、'1'
返回 TRUE。'false'
、'f'
、'no'
、'n'
、'off'
、'0'
返回 FALSE。所有其他字符串都返回错误。
字符串不区分大小写。
对于数值表达式:
0 返回 FALSE。
所有非零数值都返回 TRUE。
从 FLOAT 数据类型转换时,非数值(如“NaN”(非数字)和“INF”(无穷大))会导致错误。
示例¶
CREATE OR REPLACE TABLE test_boolean(
b BOOLEAN,
n NUMBER,
s STRING);
INSERT INTO test_boolean VALUES (true, 1, 'yes'), (false, 0, 'no'), (null, null, null);
SELECT * FROM test_boolean;
+-------+------+------+
| B | N | S |
|-------+------+------|
| True | 1 | yes |
| False | 0 | no |
| NULL | NULL | NULL |
+-------+------+------+
将文本字符串转换为布尔值:
SELECT s, TO_BOOLEAN(s) FROM test_boolean; +------+---------------+ | S | TO_BOOLEAN(S) | |------+---------------| | yes | True | | no | False | | NULL | NULL | +------+---------------+
将数字转换为布尔值:
SELECT n, TO_BOOLEAN(n) FROM test_boolean; +------+---------------+ | N | TO_BOOLEAN(N) | |------+---------------| | 1 | True | | 0 | False | | NULL | NULL | +------+---------------+