在这里插入图片描述

MySQL 是一个流行的开源关系型数据库管理系统,它提供丰富的内置函数来进行常见的数据处理和计算操作。以下是一些常用的MySQL函数:

聚合函数

AVG():计算某列的平均值
SUM():计算某列值的总和
COUNT():计算某列的行数
MAX():返回某列的最大值
MIN():返回某列的最小值

字符串函数

CONCAT():连接两个或多个字符串
LENGTH():返回字符串的长度
SUBSTRING():返回字符串的子串
REPLACE():替换字符串中的子串
UPPER() / LOWER():将字符串转换为大写 / 小写

时间和日期函数

NOW():返回当前日期和时间
DATE_FORMAT():将日期按指定格式进行格式化
YEAR() / MONTH() / DAY():提取日期中的年、月、日信息
TIMESTAMPDIFF():计算两个日期之间的差值

数学函数

ROUND():对数值进行四舍五入
ABS():返回数值的绝对值
SQRT():返回数值的平方根
POWER():返回数值的乘方结果

条件函数

IF():根据指定条件返回不同的值
CASE WHEN … THEN … ELSE … END:条件判断语句

除了上述函数之外,MySQL还支持许多其他类型的函数,如条件判断函数、加密函数、位运算函数等。这些函数可以帮助用户对数据进行各种操作和计算,提高了数据库的灵活性和功能性。


字符串函数

常用函数:

函数功能
CONCAT(s1, s2, …, sn)字符串拼接,将s1, s2, …, sn拼接成一个字符串
LOWER(str)将字符串全部转为小写
UPPER(str)将字符串全部转为大写
LPAD(str, n, pad)左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
RPAD(str, n, pad)右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
TRIM(str)去掉字符串头部和尾部的空格
SUBSTRING(str, start, len)返回从字符串str从start位置起的len个长度的字符串
REPLACE(column, source, replace)替换字符串

使用示例:

-- 拼接
SELECT CONCAT('Hello', 'World');
-- 小写
SELECT LOWER('Hello');
-- 大写
SELECT UPPER('Hello');
-- 左填充
SELECT LPAD('01', 5, '-');
-- 右填充
SELECT RPAD('01', 5, '-');
-- 去除空格
SELECT TRIM(' Hello World ');
-- 切片(起始索引为1)
SELECT SUBSTRING('Hello World', 1, 5);

数值函数

常见函数:

函数功能
CEIL(x)向上取整
FLOOR(x)向下取整
MOD(x, y)返回x/y的模
RAND()返回0~1内的随机数
ROUND(x, y)求参数x的四舍五入值,保留y位小数

日期函数

常用函数:

函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)获取指定date的年份
MONTH(date)获取指定date的月份
DAY(date)获取指定date的日期
DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1, date2)返回起始时间date1和结束时间date2之间的天数

例子:

-- DATE_ADD
SELECT DATE_ADD(NOW(), INTERVAL 70 YEAR);

流程函数

常用函数:

函数功能
IF(value, t, f)如果value为true,则返回t,否则返回f
IFNULL(value1, value2)如果value1不为空,返回value1,否则返回value2
CASE WHEN [ val1 ] THEN [ res1 ] … ELSE [ default ] END如果val1为true,返回res1,… 否则返回default默认值
CASE [ expr ] WHEN [ val1 ] THEN [ res1 ] … ELSE [ default ] END如果expr的值等于val1,返回res1,… 否则返回default默认值

例子:

select
	name,
	(case when age > 30 then '中年' else '青年' end)
from employee;

select
	name,
	(case workaddress when '北京市' then '一线城市' 
   when '上海市' then '一线城市' else '二线城市' end) as '工作地址'
from employee;

image.png



在这里插入图片描述



Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐