阅读量:1
MySQL 中的逻辑函数允许你根据条件对数据进行判断和选择。以下是一些常用逻辑函数的详细介绍和示例:
IF(expr1, expr2, expr3)
如果 expr1
是真(非零和非 NULL),IF()
函数返回 expr2
,否则返回 expr3
。
SELECT IF(1 0, 'true', 'false'); -- 结果: 'true'
CASE
CASE
函数有两种格式:简单 CASE
和搜索 CASE
函数。它们都允许在条件语句中进行选择。
简单 CASE 函数
当有一个表达式需要与一系列值进行比较时使用。
SELECT CASE 2 WHEN 1 THEN 'one' WHEN 2 THEN 'two' WHEN 3 THEN 'three' ELSE 'other'END; -- 结果: 'two'
搜索 CASE 函数
当需要基于多个条件进行判断时使用。
SELECT CASE WHEN 1 0 THEN 'true' WHEN 2 < 1 THEN 'false' ELSE 'unknown'END; -- 结果: 'true'
COALESCE(expr1, expr2, ...)
返回参数列表中的第一个非 NULL 值。
SELECT COALESCE(NULL, NULL, 'first non-null', 'second non-null'); -- 结果: 'first non-null'
NULLIF(expr1, expr2)
如果 expr1
等于 expr2
,返回 NULL,否则返回 expr1
。
SELECT NULLIF(1, 1); -- 结果: NULL SELECT NULLIF(1, 2); -- 结果: 1
IFNULL(expr1, expr2)
如果 expr1
不是 NULL,则返回 expr1
,否则返回 expr2
。
SELECT IFNULL(NULL, 'fallback'); -- 结果: 'fallback' SELECT IFNULL('not null', 'fallback'); -- 结果: 'not null'
这些逻辑函数在 SQL 查询中非常有用,尤其是当你需要基于某些条件对数据进行处理或转换时。它们可以直接在 SELECT 语句中使用,也可以与其他函数和操作结合使用,以满足更复杂的数据处理需求。