类别:

转换函数

TO_BOOLEAN

将输入文本或数值表达式转换为布尔值。对于 NULL 输入,输出为 NULL。

另请参阅:

TRY_TO_BOOLEAN

语法

TO_BOOLEAN( <text_or_numeric_expr> )
Copy

使用说明

  • 对于文本表达式,字符串必须为:

    • '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 |
+-------+------+------+
Copy

将文本字符串转换为布尔值:

SELECT s, TO_BOOLEAN(s) FROM test_boolean;

+------+---------------+
| S    | TO_BOOLEAN(S) |
|------+---------------|
| yes  | True          |
| no   | False         |
| NULL | NULL          |
+------+---------------+
Copy

将数字转换为布尔值:

SELECT n, TO_BOOLEAN(n) FROM test_boolean;

+------+---------------+
|    N | TO_BOOLEAN(N) |
|------+---------------|
|    1 | True          |
|    0 | False         |
| NULL | NULL          |
+------+---------------+
Copy
语言: 中文