IS_TRUE
is_true(expr)
功能描述
IS_TRUE
IS_TRUE
函数用于判断表达式的值是否为
true
true
。该函数支持布尔值和字符串类型,能够识别多种表示
true
true
的字符串格式。
参数说明
expr
expr
:BOOLEAN
BOOLEAN
或 STRING
STRING
类型,待判断的表达式。
返回类型
- 返回
BOOLEAN
BOOLEAN
类型。
- 如果表达式值为
true
true
或表示 true
true
的字符串,返回 true
true
。
- 如果表达式值为
false
false
或表示 false
false
的字符串,返回 false
false
。
- 如果表达式值为
NULL
NULL
,返回 false
false
。
注意事项
IS_TRUE
IS_TRUE
函数识别以下字符串为 true
true
:'t', 'true', '1', 'yes'。
IS_TRUE
IS_TRUE
函数识别以下字符串为 false
false
:'f', 'false', '0', 'no'。
- 与直接使用
expr
expr
的区别:is_true(NULL)
is_true(NULL)
返回 false
false
,而 NULL
NULL
在布尔上下文中会被特殊处理。
- 字符串匹配不区分大小写。
使用示例
- 布尔值判断
SELECT is_true(true), is_true(false), is_true(NULL);
+---------------+----------------+----------------+
| is_true(true) | is_true(false) | is_true(NULL) |
+---------------+----------------+----------------+
| true | false | false |
+---------------+----------------+----------------+
- 字符串判断(支持多种格式)
SELECT is_true('t'), is_true('f');
+--------------+--------------+
| is_true('t') | is_true('f') |
+--------------+--------------+
| true | false |
+--------------+--------------+
- 在 WHERE 子句中使用
SELECT * FROM VALUES (true), (false), (NULL) AS t(flag)
WHERE is_true(flag);
+------+
| flag |
+------+
| true |
+------+