1、LENGTH : 得到参数的字节个数
SELECT LENGTH('abc') ---> 3
-- 在utf8中一个汉字占3个字节,在gbk中一个汉字占2个字节
SELECT LENGTH('张大山') ---> 9
2、CONCAT : 拼接字符串
SELECT CONCAT('张','_','大山') ---> 张_大山
3、UPPER、LOWER : 字符大小转换
SELECT UPPER('aBc') ---> ABC
SELECT LOWER('aBc') ---> abc
4、SUBSTR
-- 截取从指定索引处后面的所有字符
SELECT SUBSTR('今天天气真好!!!',3) ---> 天气真好!!!
-- 截取从指定索引处指定长度的字符
SELECT SUBSTR('今天天气真好!!!',1,2) ---> 今天
5、INSTR
-- 返回参数值中第一次出现的索引,如果没有找到则返回0
SELECT INSTR('今天的天气真好!!!','天') ---> 2
6、TRIM
-- 去掉字符串前后空格
SELECT TRIM(' 张大山 ') ---> 张大山
-- 去掉字符串前后空格
SELECT TRIM(' 张 大 山 ') ---> 张 大 山
-- 自定义替换规则,这里以aa为一个单位,山后面的a为单数所以最后出现了一个a
SELECT TRIM('aa' FROM 'aaaaaaaa张 aaaaaa 大 aaaa 山 aaaaaaaaa') ---> 张 aaaaaa 大 aaaa 山 a
7、LPAD、RPAD
-- 用指定字符实现左填充指定长度,如果字符本身长度大于指定长度,则保留指定长度
SELECT LPAD('张大山',4,'a') ---> a张大山
SELECT LPAD('张大山',2,'a') ---> 张大
-- 用指定字符实现右填充指定长度,如果字符本身长度大于指定长度,则保留指定长度
SELECT RPAD('张大山',4,'a') ---> 张大山a
SELECT RPAD('张大山',2,'a') ---> 张大
8、REPLACE 字符替换
SELECT REPLACE('今天的天气真好','天','日') ---> 今日的日气真好
9、ROUND 四舍五入
SELECT ROUND(1.55) ---> 2
SELECT ROUND(-1.55) ---> -2
-- 指定小数点后保留多少位
SELECT ROUND(1.56789,3) ---> 1.568
SELECT ROUND(-1.56789,3) ---> -1.568
10、CEIL 向上取整(返回该参数的最小整数)
SELECT CEIL(-1.02) ---> -1
SELECT CEIL(1.02) ---> 2
11、FLOOR 向下取整(返回该参数的最大整数)
SELECT FLOOR(-9.99) ---> -10
SELECT FLOOR(9.99) ---> 9
12、TRUNCATE 保留几位小数(不做取舍)
SELECT TRUNCATE(1.987654321,1) ---> 1.9
13、MOD 取余
SELECT MOD(10,-3); ---> 1
SELECT MOD(-10,-3); ---> -1
SELECT MOD(-10,3); ---> -1
SELECT MOD(10,3); ---> 1
14、日期函数
-- 获取年月日
SELECT DATE(NOW()) ---> 2020-04-09
-- 获取年
SELECT YEAR(NOW()) ---> 2020
-- 获取月
SELECT MONTH(NOW()) ---> 4
-- 获取日
SELECT DAY(NOW()) ---> 9
15、STR_TO_DATE 将字符通过指定的格式转换成日期
SELECT STR_TO_DATE('2020-3-2','%Y-%m-%d') ---> 2020-03-02
16、DATE_FORMAT 将日期转换成字符串
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') ---> 2020-04-09
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日') ---> 2020年04月09日