MySQL 学习笔记——函数

字符串函数

函数 功能
concat(str1, str2, str3, ...) 将多个字符串拼接成一个字符串
lower(str) 将字符串 str 转化为小写
upper(str) 将字符串 str 转化为大写
lpad(str, n, pad) 用字符串 pad 对 str 左边进行填充,直到字符串长度达到 n
rpad(str, n, pad) 用字符串 pad 对 str 右边进行填充,直到字符串长度达到 n
trim(str) 去除字符串 str 头部和尾部的空格
substring(str, start, len) 返回字符串 str 从 start 位置开始的长度为 n 的字符串(start 从 1 开始)

数值函数

函数 功能
ceil(x) 向上取整
floor(x) 向下取整
mod(x, y) 返回 x / y 的模
rand() 返回 0 ~ 1 内的随机数
round(x, y) 返回 x 的四舍五入的值,保留 y 位小数

order by rand() 可以实现查询结果乱序 


日期函数

函数 功能
curdate() 返回当前日期
curtime() 返回当前时间
now() 返回当前日期和时间
year(date) 获取 date 的年份
month(date)

获取 date 的月份

day(date) 获取 date 的日期
date_add(date,INTERVAL expr unit) 将 date 加上一个时间间隔 expr 后返回,unit 可以是 year、month、day、hour、minute、second 等
datediff(date1, date2) 返回 date1 和 date2 之间的天数差

流程函数

函数 功能
if(value, t, f) 若 value 为 true ,返回 t ,否则返回 f
ifnull(value1, value2) 若 value1 不为空,返回 value1 ,否则返回 value2
case when [val1] then [res1] ... else [default] end 若 val1 为 true ,返回 res1,...,否则返回 default
case expr when [val1] then [res1] ... else [default] end 若 expr 为 val1,返回 res1,...,否则返回 default
上一篇:redis 缓存击穿


下一篇:MySql执行计划explain的解读