MySQL 常用函数总结

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 值
  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值