Mysql常用函数积累
1.GROUP_CONCAT 函数
GROUP_CONCAT()
是 MySQL 中一个非常实用的聚合函数,用于将分组查询中某一列的多个值连接成一个字符串,常与 GROUP BY
配合使用。
GROUP_CONCAT([DISTINCT] 列名 [ORDER BY 排序条件] [SEPARATOR '分隔符'])
SEPARATOR
:可选,指定分隔符(默认是逗号,
)
示例:
MySQL 中将表中一列数据转换为带引号并用逗号分隔的格式(如("a","b","c")
)
SELECT CONCAT('(', GROUP_CONCAT(CONCAT("'", name, "'")), ')') AS quoted_names
FROM users;
2.COALESCE() 函数
在 MySQL 中,COALESCE()
是一个用于处理 NULL 值的函数,它返回参数列表中第一个非 NULL 的值。如果所有参数都是 NULL,则返回 NULL。COALESCE()
是处理 NULL 值的强大工具,能让查询结果更符合业务需求,避免因 NULL 导致的意外行为。
COALESCE(expr1, expr2, ..., exprn)
- 接受一个或多个表达式作为参数
- 依次检查每个表达式,返回第一个非 NULL 的值
与 IFNULL () 的区别
COALESCE()
可以接受多个参数,而IFNULL()
只能接受两个参数COALESCE()
是 SQL 标准函数,兼容性更好;IFNULL()
是 MySQL 特有函数
-- 效果相同
SELECT COALESCE(name, '未知') FROM users;
SELECT IFNULL(name, '未知') FROM users;
-- COALESCE的多参数优势
SELECT COALESCE(a, b, c, '默认值') FROM table; -- IFNULL无法直接实现