17370845950

mysql单行函数的介绍
单行函数对每行数据处理后返回一个值,不修改原数据。1. 字符串函数:UPPER、LOWER、CONCAT、SUBSTRING、TRIM用于文本操作,如SELECT UPPER('hello')返回'HELLO'。2. 数值函数:ROUND、CEIL、FLOOR、ABS、MOD用于数学计算,如SELECT ROUND(3.14159, 2)得3.14。3. 日期时间函数:NOW、CURDATE、CURTIME、DATE_ADD、DATEDIFF处理日期,如SELECT DATEDIFF('2025-04-05', '2025-04-01')返回4。4. 类型转换与控制函数:IF、IFNULL、CASE、CAST实现条件判断与类型转换,如SELECT IFNULL(NULL, '未知')返回'未知'。这些函数在SQL查询中高频使用,掌握可提升数据处理效率。

MySQL单行函数是指对每一行数据进行处理并返回一个结果值的函数。这类函数不会改变原始数据,而是基于输入参数生成新的输出值。它们在查询中非常常用,可用于字符串处理、数值计算、日期操作以及类型转换等场景。

字符串函数

用于处理文本数据,常见的包括:

  • UPPER(str):将字符串全部转为大写
  • LOWER(str):将字符串全部转为小写
  • CONCAT(str1, str2, ...):连接多个字符串
  • SUBSTRING(str, pos, len):从指定位置截取指定长度的子串
  • TRIM(str):去除字符串首尾空格
例如:SELECT UPPER('hello') 返回 'HELLO'。

数值函数

用于数学运算和数值处理:

  • ROUND(x, d):对数字x四舍五入保留d位小数
  • CEIL(x):向上取整
  • FLOOR(x):向下取整
  • ABS(x):返回绝对值
  • MOD(x, y):求余数
比如:SELECT ROUND(3.14159, 2) 得到 3.14。

日期和时间函数

处理日期与时间类型的数据:

  • NOW():返回当前日期和时间
  • CURDATE():返回当前日期
  • CURTIME():返回当前时间
  • DATE_ADD(date, INTERVAL expr unit):日期加减操作
  • DATEDIFF(date1, date2):计算两个日期之间的天数差
示例:SELECT DATEDIFF('2025-04-05', '2025-04-01') 返回 4。

类型转换与控制函数

实现数据类型的转换或条件判断:

  • IF(expr, v1, v2):如果expr为真返回v1,否则返回v2
  • IFNULL(val, replace_with):如果val为NULL,则返回替代值
  • CASE WHEN ... THEN ... END:多条件分支判断
  • CAST(expr AS type):将表达式转换为指定类型
例如:SELECT IFNULL(NULL, '未知') 返回 '未知'。

基本上就这些。单行函数在日常SQL编写中使用频率很高,掌握它们能显著提升数据处理效率。实际应用时可以根据字段类型选择合适的函数进行操作,不复杂但容易忽略细节。