条件选择函数
case when expr1 then value1 [when expr2 then value2]... else value3 end
case 变量 when expr1 then value1 ... else valuen end
绝对值函数
abs(x)
圆周率函数
pi()平方根函数
sqrt(x)
取余函数
mod(x,y) x对y取余
向上取整,向下取整,四舍五入函数
ceil(x) 或 ceiling(x) 向上取整函数
floor(x)向下取整
round(x)四舍五入函数
获取随机数
rand() 和 rand(x) 都是随机获取0——1的随机数,
rand(x) 相同的函数,返回值也相同
返回小数点后的y位
truncate(x,y)
符号函数sign(x)
sign(x) 如果x 小于 0 ,=0 ,大于 0
依次返回 -1,0,1;
幂运算函数,计算x的y次幂
pow(x,y) 或power(x,y) 特殊的幂运算 exp(x) 表示 底数为 e
对数函数
log(x) 表示 返回 以e为底,x的对数
log(x,y) 表示返回x 为底 y的对数,例如
计算字符串的长度
length(str)
连接字符串函数
concat(s1,s2...)
concat_ws(split,s1,s2....) 连接字符串并以中间插入split字符
替换字符串函数
insert(s1,str,len,s2);
将s1字符串中x位置开始的长度为len的字符串替换为s2
大小写字母转化函数
upper(str) 或 ucase(str)
lower(str) 或 lcase(str)
字符串截取函数
left(str,n)
right(str,n)
substring(str,n,len)从第n个位置开始获取长度为len的字符串
substring(str,n)只计算起始位置
去除空格函数
ltrim(str)去除开始的空格
rtirm(str)去除结束的空格
trim(str)去掉开始和结束的空格
替换函数
replace(str,s1,s2)将s2字符串替换str中s1的位置
从头匹配查找函数
locate(s1,str)
position(s1 in str)
instr(str,s1)
字符串逆序函数
reverse(str)
日期函数
curdate(),current_date()获取当前日期
curtime(),current_time()获取当前时间
now(),current_timestamp(),localtime(),sysdate()这四个函数都用来获取当前的日期和时间
unix时间戳函数
unix_timestamp()返回当前时间的unix时间戳
unix_timestamp(d) 将普通时间转换为unix时间戳,
from_unixtime(d) 把unix时间搓转化为普通时间
获取月份函数
month(d)
获取星期数
dayofweek(d) 1表示星期天,2表示星期1,以此类推
获取天数函数
dayofyear(d)一年中的第多少天
dayofmonth(d)一个月中的第多少天
获取日期指定部分时间函数
extract(timetype from d)
type 可以选year,month,day,hour,minute,second
日期相加减
date_add('2018-03-25 00:00:00',interval expr type);type表示 year,month,day,
hour,minute,second等 expr为增量
date_sub(d,interval expr ,type)
timestampdiff(type,date_expr1,date_expr2)按指定的type类型返回时间差
条件判断函数
if(expr,value1,value2)
select if(1=1,'true','false')
判断为空函数等价于oracle的nvl函数
ifnull(value1,value2);
返回不小于x的最小整数
ceil(x)
例如ceil(1.6) 返回2,ceil(-1.6)返回-1
返回不大于x的最大整数
floor(x)
例如ceil(1.6) 返回1,ceil(-1.6)返回-2