MySQL 提供了丰富的内置函数,用于在查询中进行各种计算、字符串处理、日期和时间操作等。这些函数可以帮助我们更有效地从数据库中检索和处理数据。下面将总结一些 MySQL 中常用的函数及其用法。
1. 数值函数
1.1 ROUND()
ROUND() 函数用于对数值进行四舍五入操作。
SELECT ROUND(123.4567, 2); -- 结果为 123.46
1.2 CEIL() 和 FLOOR()
CEIL() 函数返回大于或等于指定数值的最小整数(向上取整),而 FLOOR() 函数返回小于或等于指定数值的最大整数(向下取整)。
SELECT CEIL(123.4567); -- 结果为 124
SELECT FLOOR(123.4567); -- 结果为 123
1.3 ABS()
ABS() 函数返回数值的绝对值。
SELECT ABS(-123); -- 结果为 123
2. 字符串函数
2.1 CONCAT()
CONCAT() 函数用于连接两个或多个字符串。
SELECT CONCAT('Hello', ' ', 'World'); -- 结果为 'Hello World'
2.2 LENGTH()
LENGTH() 函数返回字符串的长度。
SELECT LENGTH('Hello'); -- 结果为 5
2.3 UPPER() 和 LOWER()
UPPER() 函数将字符串转换为大写,而 LOWER() 函数将字符串转换为小写。
SELECT UPPER('hello'); -- 结果为 'HELLO'
SELECT LOWER('HELLO'); -- 结果为 'hello'
2.4 SUBSTRING()
SUBSTRING() 函数用于提取字符串的子串。
SELECT SUBSTRING('Hello World', 1, 5); -- 结果为 'Hello'
2.5 REPLACE()
REPLACE() 函数用于在字符串中替换指定的子串。
SELECT REPLACE('Hello World', 'World', 'MySQL'); -- 结果为 'Hello MySQL'
3. 日期和时间函数
3.1 NOW()
NOW() 函数返回当前的日期和时间。
SELECT NOW(); -- 返回当前日期和时间
3.2 CURDATE() 和 CURTIME()
CURDATE() 函数返回当前的日期,而 CURTIME() 函数返回当前的时间。
SELECT CURDATE(); -- 返回当前日期
SELECT CURTIME(); -- 返回当前时间
3.3 DATE_FORMAT()
DATE_FORMAT() 函数用于按照指定的格式显示日期/时间值。
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 返回格式化的日期和时间
3.4 DATEDIFF()
DATEDIFF() 函数返回两个日期之间的天数差。
复制代码
SELECT DATEDIFF('2023-10-23', '2023-10-01'); -- 结果为 22
4. 聚合函数
4.1 AVG()
AVG() 函数返回某列的平均值。
SELECT AVG(salary) FROM employees; -- 返回员工的平均工资
4.2 SUM()
SUM() 函数返回某列的总和。
SELECT SUM(quantity) FROM orders; -- 返回订单的总数量
4.3 COUNT()
COUNT() 函数返回匹配指定条件的行数。
SELECT COUNT(*) FROM employees; -- 返回员工的总数
SELECT COUNT(DISTINCT department) FROM employees; -- 返回不同部门的数量
4.4 MAX() 和 MIN()
MAX() 函数返回某列的最大值,而 MIN() 函数返回某列的最小值。
SELECT MAX(salary) FROM employees; -- 返回员工的最高工资
SELECT MIN(salary) FROM employees; -- 返回员工的最低工资
5. 其他常用函数
5.1 IFNULL()
IFNULL() 函数用于处理 NULL 值。如果第一个参数为 NULL,则返回第二个参数的值;否则返回第一个参数的值。
SELECT IFNULL(NULL, '默认值'); -- 结果为 '默认值'
SELECT IFNULL(column_name, '默认值') FROM table_name; -- 如果 column_name 中的值为 NULL,则返回 '默认值'
5.2 CASE 语句
CASE
语句在 MySQL 中用于在查询中进行条件判断,类似于其他编程语言中的 switch-case 结构。
SELECT
column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END AS case_result
FROM table_name;
5.3 CONCAT_WS()
CONCAT_WS() 函数用于连接两个或多个字符串,并指定一个分隔符。
SELECT CONCAT_WS('-', '2023', '10', '23'); -- 结果为 '2023-10-23'
5.4 TRIM()
TRIM() 函数用于去除字符串开头和结尾的指定字符(默认为空格)。
SELECT TRIM(' Hello World '); -- 结果为 'Hello World'
SELECT TRIM(LEADING 'x' FROM 'xxxHello Worldxxx'); -- 结果为 'Hello Worldxxx'
SELECT TRIM(TRAILING 'x' FROM 'xxxHello Worldxxx'); -- 结果为 'xxxHello World'
SELECT TRIM(BOTH 'x' FROM 'xxxHello Worldxxx'); -- 结果为 'Hello World'
5.5 COALESCE()
COALESCE() 函数返回参数列表中的第一个非 NULL 值。
SELECT COALESCE(NULL, NULL, '默认值'); -- 结果为 '默认值'
SELECT COALESCE(column1, column2, '默认值') FROM table_name; -- 返回 column1、column2 或 '默认值' 中的第一个非 NULL 值
标签:总结,返回,函数,--,MySQL,World,Hello,SELECT
From: https://blog.csdn.net/dazhong2012/article/details/139834208