MySQL支持丰富的内置函数,这些函数可以用于执行各种操作,包括字符串处理、数学运算、日期和时间操作等。以下是一些常见的MySQL函数:

1. 字符串函数

  •  CONCAT(str1, str2, ...): 连接字符串。
  SELECT CONCAT('Hello', ' ', 'World') AS result;
  -- 输出:Hello World

  •  SUBSTRING(str, start, length): 截取字符串的子串。
  SELECT SUBSTRING('Hello World', 1, 5) AS result;
  -- 输出:Hello

  •  UPPER(str): 将字符串转换为大写。
  SELECT UPPER('hello') AS result;
  -- 输出:HELLO

  •  LOWER(str): 将字符串转换为小写。
  SELECT LOWER('WORLD') AS result;
  -- 输出:world

2. 数学函数

  •  ROUND(num, decimals): 四舍五入。
  SELECT ROUND(5.678, 1) AS result;
  -- 输出:5.7

  •  CEIL(num): 向上取整。
  SELECT CEIL(3.14) AS result;
  -- 输出:4

  •  FLOOR(num): 向下取整。
  SELECT FLOOR(3.99) AS result;
  -- 输出:3

  •  ABS(num): 取绝对值。
  SELECT ABS(-7) AS result;
  -- 输出:7

3. 日期和时间函数

  •  NOW(): 返回当前日期和时间。
  SELECT NOW() AS current_datetime;

  •  DATE_FORMAT(date, format): 格式化日期。
  SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date;
  -- 输出:2023-01-15

  •  DATEDIFF(date1, date2): 计算日期差值。
  SELECT DATEDIFF('2023-01-15', '2023-01-01') AS date_difference;
  -- 输出:14

  •  CURDATE(): 返回当前日期。
  SELECT CURDATE() AS current_date;

4. 条件函数

  •  IFNULL(expr1, expr2): 如果第一个表达式不为NULL,则返回第一个表达式的值;否则,返回第二个表达式的值。
  SELECT IFNULL(NULL, 'default_value') AS result;
  -- 输出:default_value

  •  CASE WHEN ... THEN ... ELSE ... END: 类似于程序中的switch语句。
  SELECT
      CASE
          WHEN grade >= 90 THEN 'A'
          WHEN grade >= 80 THEN 'B'
          WHEN grade >= 70 THEN 'C'
          ELSE 'D'
      END AS grade_result
  FROM student_scores;

以上只是一小部分MySQL函数的示例。在实际应用中,你可能会遇到更多类型的函数,具体取决于你的需求。


转载请注明出处:http://www.zyzy.cn/article/detail/8008/MySQL