函数:
函数的概述:
函数是一段可以直接被另一端程序调用的代码或程序
常用的有:
字符串函数:
常用的字符串函数:
示例:
CONCAT:
SELECT CONCAT('hello','mysql')
LOWER
-- LOWER(str)
SELECT LOWER('HEllo')
upper
-- UPPER(str)
SELECT UPPER('HEllo');
LPAD
第一个为需要填充的数据,第二个为长度,第三个为填充的字符
-- LPAD(str,len,padstr)
SELECT LPAD('01',5,'-')
填充到长度为5
RPAD
-- RPAD(str,len,padstr)
SELECT RPAD('01',5,'-')
TRIM
去除头部和尾部的空格
-- TRIM([remstr FROM] str)
SELECT TRIM(' hello mysql ');
SUBSTR
第一个参数为截取的字符串,第二个为从哪个位置开始,第三个为截取多长
-- SUBSTR(str FROM pos FOR len)
SELECT SUBSTR('hello mysql',1,5);
案例:
数值函数:
CEIL
-- CEIL(X)
SELECT CEIL(1.5);
FLOOR
-- FLOOR(X)
SELECT FLOOR(1.9);
MOD
相当于取余
-- MOD(N,M)
SELECT MOD(6,3);
RAND(随机数在0-1之间)
-- RAND()
SELECT RAND();
ROUND
四舍五入,保留指定位数的小数
-- ROUND(X)
SELECT ROUND(2.345,2);
案例:
产生6位随机数:
由于可能产生5位,所以要补0
日期函数:
CURDATE
-- CURDATE()
SELECT CURDATE();
CURRENT_TIME
-- CURRENT_TIME
SELECT CURRENT_TIME
NOW
-- NOW()
SELECT NOW();
获取当前年月日:
-- YEAR(date)
SELECT YEAR(NOW());
-- MONTH(date)
SELECT MONTH(NOW());
-- DAY(date)
SELECT DAY(NOW());
DATE_ADD
查询当前时间往后推迟70天:
当前日期为:2022/8/26
推迟不同的年月日 修改 70后面的单位 year、 mounth 、 day
-- DATE_ADD(date,INTERVAL expr unit)
SELECT DATE_ADD(NOW(),INTERVAL 70 DAY)
DATEDIFF
一般大的放前面,小的日期放后面,否则会出现负数
--DATEDIFF(expr1,expr2)
SELECT DATEDIFF('2022-8-26','2022-9-26');
案例: