1、字符串函数
# 字符函数
select concat('hello' , ' mysql!');
select lower('HELLO');
select upper('hello');
select lpad('01',5,'-');# 左填充
select rpad('01',5,'-');# 右填充
select trim(' hello mysql ! ');# 去除前后空格
select substring('hello mysql!',1,7);# 截取一部分字符前7个,索引从1开始
# 补充工号为5位,前面补充0
desc employee;
select * from employee;
update employee set workno = lpad(workno,5,'0') where workno<10000;
2、数值函数
# 数值函数
select ceil(1.7); # 向上取整
select floor(1.1); # 向下取整
select mod(7,4); # 求余数
select rand(); # 0-1之间随机数
select round(2.35677,2); # 四舍五入,保留两位
# 生成一位六位数的随机验证码
select lpad(round(rand()*1000000,0),6,'0');
3、日期函数
# 日期函数
select curdate();# 当前日期 2024-08-27
select curtime(); # 当前时间
select now(); # 当前日期和时间 2024-08-27 09:10:02
select year(now()); # 年
select month(now());# 月
select day(now());#日
select date_add(now(),interval 7 day); #2024-09-03 09:09:48
select datediff('2024-09-01','2024-10-02');# 返回相差的天数
# 查询全部人的入职天数,并根据天数倒序排序
select name,workno,datediff(curtime(),entrydate) days from employee order by days desc;
select name,workno,datediff(curtime(),entrydate) as 'entrydays' from employee order by entrydays desc;
4、流程函数