一、学函数主要用来处理数值数据,主要的数学函数有绝对函数,三角函数,对数函数,随机函数等
(1)-- 使用绝对函数ABS(x)
SELECT ABS(-12),ABS(-13),ABS(12);
(2)-- 平方根函数SQRT(x),返回的是非负数x的二次方根
SELECT SQRT(9),SQRT(10),SQRT(81);
(3)-- 求余数的函数MOD(x,y),返回X除于Y的余数
SELECT MOD(17,3),MOD(15,3),MOD(105,5);
(4)-- 获取随机数的函数RAND(),范围在0~1之间
SELECT RAND();
(5)-- 使用ROUND(x)函数对操作数四舍五入
SELECT ROUND(5.2),ROUND(-1.62),ROUND(7.82);
(6)-- 使用ROUND(x,y)函数对操作数四舍五入,结果保留小数点后面指定Y位
SELECT ROUND(5.22,1),ROUND(10.1585,3),ROUND(158.183,-1);
(7)-- 使用TRUNCATE(x,y)函数对操作数进行截取,结果保留小数点后面指定Y位,不进行四舍五入
SELECT TRUNCATE(5.48,1),TRUNCATE(7.888,2),TRUNCATE(9.67,1);
(8)-- 使用POW(x,y)或者POWER(x,y)进行乘方运算
SELECT POW(5,3),POWER(5,3);
(9)-- 使用函数EXP计算e的乘方
SELECT EXP(5);
(10)-- 使用RADIANS(X)将角度转化为弧度
SELECT RADIANS(90),RADIANS(180),RADIANS(360);
(11)-- 使用DEGREES(X)将弧度转化为角度
SELECT DEGREES(pi()),DEGREES(pi()/2);
二、字符串函数用于处理数据库中的字符串数据,主要有计算字符串长度函数、字符串替换函数、字符串比较函数、查找指定字符串位置函数等
(1)-- 使用函数CHAR_LENGTH,计算字符串字符个数
SELECT CHAR_LENGTH ('datetime');
(2)-- 使用合并字符串函数CONCAT(s1,s2,...),如果中间有空值就返回空值
SELECT CONCAT('MY','SQL','507'),CONCAT('MY','SQL',null,'507');
(3)-- 使用CONCAT_WS函数连接分隔符的字符串
SELECT CONCAT_WS('-','2019','3','20');
(4)-- 使用替换字符串的函数INSERT进行字符串替代操作
SELECT INSERT('HelloWord',6,4,'Boy');
(5)-- 字母大小写转换LOWER或LCASE,UPPER
SELECT LOWER('HELLOWORD'),LCASE('WELL'),UPPER('black');
(6)-- 从字符串Nice see to meet you 中获取字符串meet
select mid('Nice see to meet you',13,4);
(7)-- 重复输出三次字符串Cheer
select repeat('Cheer',3);
(8)-- 将字符串 voodoo 逆向输出
select reverse('voodoo');
三、日期和时间函数主要用来处理日期和时间值
(1)-- 获取系统当前日期
SELECT CURDATE();
(2)-- 获取当前系统当前时间
SELECT CURTIME();
(3)-- 获取当前系统日期和时间
SELECT NOW();
(3)-- 获取月份的函数
SELECT MONTH('2019-03-20');