SQL--函数
SQL--函数
函数是什么?
函数是指一段可以直接被另一段程序调用的程序或代码。
字符串函数
select concat('hello','mysql');
select lower('Hello');
select upper('Hello');
select lpad('01',5,'-');
select rpad('01',5,'-');
select trim(' hello mysql ');
select substr('Hello Mysql',1,5);
注意substr中第二项中的下标从1开始,第三个参数为截取的长度
--1,由于业务需求变更,企业员工的工号,统一5位数,目前不足巧位数的全部在前面补0。比如:1号员工的工号应该00001。
update emp set workno =lpad(workno,5,'0');
数值函数
# ceil向上取整
select ceil(1.1);
# floor向下取整
select floor(1.9);
# mod模运算
select mod(7,4);
# rand 生成0-1的随机数
select rand();
# round 四舍五入,保留y位小数
select round(1.878,2);
select round(2.345,2);
select round(2.344,2);
通过数据库的函数,生成一个六位数的随机验证码。
# 通过数据库的函数,生成一个六位数的随机验证码。
# 先生成6位随机数,如过不为6位就在前面或者后面补0
select lpad(round(rand()*1e6,0),6,'0');
日期函数
# ceil向上取整
select ceil(1.1);
# floor向下取整
select floor(1.9);
# mod模运算
select mod(7,4);
# rand 生成0-1的随机数
select rand();
# round 四舍五入,保留y位小数
select round(1.878,2);
select round(2.345,2);
select round(2.344,2);
# 通过数据库的函数,生成一个六位数的随机验证码。
# 先生成6位随机数,如过不为6位就在前面或者后面补0
select lpad(round(rand()*1e6,0),6,'0');
# 日期函数
# curdate 当前日期
select curdate();
# curtime 当前时间
select curtime();
# now 当前的日期加时间
select now();
# year month day
select year(now());
select month(now());
select day(now());
# data_add
# 向后70天
select date_add(now(),interval 70 day );
# 向后70月
select date_add(now(),interval 70 month );
# 向后70年
select date_add(now(),interval 70 year );
# datediff 两个日期之间的差值
# 前面的时间减后面的时间
select datediff('2021-10-01','2021-12-01');
--案例:查询所有员工的入职数,并根据入职天数倒序排序。
select name,datediff(curdate(),entrydate) as entrydays from emp order by entrydays desc ;