https://www.w3ccoo.com/mysql/mysql_ref_functions.html
一、数学函数
-- 数学函数
-- FLOOR(X) 下取整 CEIL(X)上取整
SELECT FLOOR(1.9),CEIL(1.1); -- 1 2
-- ROUND(X,D) 四舍五入
SELECT ROUND(123.56722,2) ,ROUND(150.56722,-2);-- 123.57 200
-- TRUNCATE(X,D) 割尾函数
SELECT truncate(123.56722,2),truncate(183.56722,-2);-- 123.56 100
-- 将一个实数整数部分和小数部分分割?183.56722分成183和0.56722
SELECT FLOOR(183.56722),183.56722-FLOOR(183.56722);
二、字符函数
-- 字符函数
-- LENGTH() 空间大小字节数,utf8字符集,latin字母占1字节,汉子3字节
-- CHAR_LENGTH() 字符个数
SELECT LENGTH('MySQL数据库'),CHAR_LENGTH('MySQL数据库'); -- 14 8
-- 取子串SUBSTR()
SELECT SUBSTR('MySQL数据库',6,3),SUBSTR('MySQL数据库',6); -- 数据库 数据库
set @name = '03苑安迪112';
-- 拿序号,拿姓名
SELECT SUBSTR(@name,1,2) 序号,SUBSTR(@name,3) 姓名;
-- 查找字符位置,拿文件扩展名
SET @file = 'D:/MySQL高级应用作业/学生作业/学生作业/10 孙家邦.png';
-- POSITION() LOCATE() instr() INSTR(str,substr)定位子串位置“.”
-- SELECT @pos:=POSITION('.' IN @file);
SET @pos = LOCATE('.',@file);
-- 拿扩展名
SELECT SUBSTR(@file,@pos+1);
-- 查找替换REPLACE()
SELECT REPLACE(@file,'10 孙家邦','10孙家邦');
-- 删除子串
SELECT REPLACE(@file,'孙家邦','');
-- 插入子串 SELECT INSERT(str,pos,len,newstr)
SELECT INSERT(@file,1,3,'21软件2班');
-- 字符串拼接 CONCAT()
SELECT CONCAT('123','wo'),CONCAT_WS('_','123','wo');
三、日期时间函数
-- 日期函数
-- 获取当前日期时间 cur……
-- 日期部分
SET @date = CURDATE();
SELECT YEAR(@date),MONTH(@date),DAY(@date),WEEKDAY(@date);
-- 日期运算 两个日期时间差DATEDIFF(expr1,expr2)
SELECT DATEDIFF('2022-12-29',@date);
-- 日期 ADDDATE
SELECT ADDDATE(@date,INTERVAL -10 MONTH);
-- DATE_ADD(date,INTERVAL expr unit)
SELECT DATE_ADD(NOW(),INTERVAL 10 MINUTE);
-- DATE_FORMAT(date,format)
SELECT DATE_FORMAT(NOW(), '%H:%i:%s');