函数是指一段可以直接被另一段程序调用的程序或代码。
字符串函数
MySQL中常用的字符串函数

使用语法:SELECT 函数(参数);
示例:
sql
-- 拼接字符串
select concat('Hello','MySQL');
-- lower转换为小写
select lower('HELLO,MYSQL');
-- upper转换为大写
select upper('hello,mysql');
-- lpad左填充
select lpad('11',5,'-');
-- rpad
select rpad('11',5,'-');
-- trim去除头部和尾部的空格
select trim(' Hello MySQL ');
-- subtstring提取字符串
select substring('Hello MySQL',1,5);
数值函数
MySQL中常用的数值函数

语法:select 函数(参数);
示例:
sql
-- 数值函数
-- ceil向上取整
select ceil(1.1);
-- floor向下取整
select floor(1.9);
-- mod求(x/y)的模(x/y的余数
select mod(3,4);
-- rand0到1的随机数
select rand();
-- round四舍五入保留两位小数
select round(1.235,2);
-- 示例:生成六位随机验证码
select lpad(round(rand()*1000000,0),6,0);
-- 用rand生成0到1的随机数,乘以1000000,因为可能前六位小数开头一位或者几位都为零所以用左填充补0
日期函数
常见日期函数:

示例:
sql
-- 日期函数
-- 当前日期curdate
select curdate();
-- 当前时间curtime
select curtime();
-- 当前日期和时间now
select now();
-- 获取指定date的年份
select year('2026-5-2');
-- 获取指定date的月份
select month('2026-5-2');
-- 获取date日期
select day('2026-5-2');
-- 返回date加上一个时间间隔后的时间值
select date_add(now(),interval 70 year );
-- 返回起始时间和结束时间之间的天数
select DATEDIFF(now(),'2006-5-2');
流程控制函数

示例:
sql
create table grade(
id int comment '学号',
name varchar(20) comment '姓名',
score int comment '分数'
)comment '学生分数表';
insert into grade values (1,'小明',80),
(2,'小红',70),
(3,'李梅',55);
select id,
name,
(case when score>=80 then '优秀' when score>=60 then '及格' else '不及格' end)
from grade;
