类别:

转换函数

TO_BOOLEAN

将输入文本或数值表达式转换为 BOOLEAN 值。

另请参阅:

TRY_TO_BOOLEAN

语法

TO_BOOLEAN( <string_or_numeric_expr> )
Copy

实参

string_or_numeric_expr

计算结果为 BOOLEAN 值的字符串表达式或数值表达式。

返回

返回 BOOLEAN 值或 NULL。

  • 如果 string_or_numeric_expr 计算结果为 TRUE,则返回 TRUE。

  • 如果 string_or_numeric_expr 计算结果为 FALSE,则返回 FALSE。

  • 如果输入为 NULL,则返回 NULL,不报错。

使用说明

  • 对于字符串表达式:

    • 'true''t''yes''y''on''1' 返回 TRUE。

    • 'false''f''no''n''off''0' 返回 FALSE。

    • 所有其他字符串都返回错误。

    字符串的求值不区分大小写。

  • 对于数值表达式:

    • 0 返回 FALSE。

    • 所有非零数值都返回 TRUE。

    • FLOAT 数据类型转换时,``NaN``(非数字)和 ``INF``(无穷大)等非数值会返回错误。

示例

以下示例使用 TO_BOOLEAN 函数。

创建表并插入数据:

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;
Copy
+-------+------+------+
| B     |    N | S    |
|-------+------+------|
| True  |    1 | yes  |
| False |    0 | no   |
| NULL  | NULL | NULL |
+-------+------+------+

将文本字符串转换为 BOOLEAN 值:

SELECT s, TO_BOOLEAN(s) FROM test_boolean;
Copy
+------+---------------+
| S    | TO_BOOLEAN(S) |
|------+---------------|
| yes  | True          |
| no   | False         |
| NULL | NULL          |
+------+---------------+

将数字转换为 BOOLEAN 值:

SELECT n, TO_BOOLEAN(n) FROM test_boolean;
Copy
+------+---------------+
|    N | TO_BOOLEAN(N) |
|------+---------------|
|    1 | True          |
|    0 | False         |
| NULL | NULL          |
+------+---------------+
语言: 中文