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 语句中使用,也可以与其他函数和操作结合使用,以满足更复杂的数据处理需求。
版权归原作者 兔老大RabbitMQ 所有, 如有侵权,请联系我们删除。