Skip to content

MySQL - 有用函数

MySQL 提供了一个丰富的内置函数库,用于直接在 SQL 查询中对数据执行各种操作。掌握这些函数可以显著简化您的应用程序逻辑、提高查询性能,并支持强大的数据操作和分析。本指南对最重要的函数进行了分类。

这些函数用于操作文本数据。常见的任务包括字符串拼接、查找子字符串、改变大小写以及去除空格。

  • CONCAT():连接两个或多个字符串。
  • LENGTH() / CHAR_LENGTH():返回字符串的字节长度或字符长度。
  • UPPER() / LOWER():将字符串转换为大写或小写。
  • SUBSTRING():提取字符串的一部分。
  • REPLACE():将字符串中所有出现的子字符串替换为另一个子字符串。
  • TRIM():删除字符串开头和结尾的空格。

这些函数对数值数据执行数学计算。它们涵盖从基本算术到更复杂的统计操作。

  • ROUND():将数字四舍五入到指定的小数位数。
  • CEIL() / FLOOR():将数字向上或向下舍入到最接近的整数。
  • ABS():返回数字的绝对值(非负值)。
  • MOD():返回除法运算的余数。
  • RAND():生成一个介于 0 和 1 之间的随机浮点数。

这些函数对于处理时间数据至关重要,它们允许您操作和提取日期和时间信息。

  • NOW() / CURDATE() / CURTIME():返回当前日期和时间、仅日期或仅时间。
  • DATE_FORMAT():将日期格式化为指定的字符串格式。
  • DATEDIFF():计算两个日期之间的天数。
  • DATE_ADD() / DATE_SUB():从日期中添加或减去一个时间间隔。
  • YEAR() / MONTH() / DAY():提取日期的年份、月份或日部分。

聚合函数对一组行执行计算并返回单个汇总值。它们几乎总是与 GROUP BY 子句一起使用。

  • COUNT():计算行数。
  • SUM():计算列中值的总和。
  • AVG():计算列中值的平均值。
  • MIN() / MAX():查找列中的最小值或最大值。
  • GROUP_CONCAT():将组中的字符串连接成单个字符串。

这些函数为您的查询添加条件逻辑,允许您根据特定条件返回不同的值。

  • IF():一个简单的 if-then-else 函数。
  • CASE:一个更强大、更灵活的条件语句,类似于编程中的 switch 语句。
  • COALESCE():返回列表中的第一个非 NULL 值。
  • IFNULL() / NULLIF():处理 NULL 值的专用函数。

最新版本的 MySQL 引入了强大的函数,用于处理复杂数据结构和执行高级分析。

  • 窗口函数 (MySQL 8.0+):如 ROW_NUMBER()、RANK()、LEAD() 和 LAG() 等函数,它们对与当前行相关的一组表行执行计算。对于高级分析至关重要。
  • JSON 函数 (MySQL 5.7+):一套函数,如 JSON_OBJECT()、JSON_ARRAY()、JSON_EXTRACT() 和 JSON_TABLE(),用于创建、解析和查询存储在数据库中的 JSON 数据。