mysql常用函数
1、left(), right(), substring(), substring_index(),mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。
字符串截取:left(str, length) ===字符串,长度 从左边截取包括第3个字符
比如:select left(‘example.com’, 3) from TT_table;
right(str, length)是右边。
字符串截取:substring(str, pos); substring(str, pos, len)
select substring(‘eeeaaadddd’, 4);
从第四个字符向后截取包括第4个字符
substring(‘eeeaaadddd’, 4, 3)
从第4个取,取三个字符。
substring(‘eeeaaadddd’, -4, 3) 从倒数第四个取三个字符
字符串截取:substring_index()
select substring_index(‘www.example.com’, ‘.’, 2)
截取第2个’.‘之前所有的字符,这个点不截取 是-2就是反方向截取倒数第2个之后的,找不到就返回整个字符串
trim(str) 删除字符串左右两侧的空格
2、reverse()
这是一个反转字符串reverse(’12345‘)
得到 54321
3、常用计算
count(*) 统计查询结果的行数
min(*) 查询指定列的最小值
max(*) 查询指定列的最大值
sum(*) 求和,返回指定列的总和
avg(*) 求平均值,返回指定列数据的平均值
abs(*) 返回绝对值
mod(x,y) 返回x/y的模(取余数)
round(x,y) 返回参数x的四舍五入的有y位小数的值
truncate(x,y) 返回数字x截短为y位小数的结果
4、日期格式等等
curdate() 和 current_date() 两个函数作用相同,返回当前系统的日期值
current_date() +0输出的是日期字符串:2021-04-23(两个函数默认输出值)=》20210423
**curtime()**和 **current_time()**返回的是系统时间 2021-04-23 00:00:00
month(‘2021-04-23’)=>4获取指定日期中的月份
**monthname(‘2021-04-23’)**获取指定日期中的月份英文名称
dayname(‘2021-04-23’) 获取指定曰期对应的星期几的英文名称
date_format(‘2021-04-23 00:22:12’,’%W %W %D %Y’) -或者’%Y-%m-%d‘ 格式化指定的日期,根据参数返回指定格式的值。可以放date类型的数据
datediff(a1,a2) 获取两个日期之间间隔,返回参数 1 减去参数 2 的值datediff(‘2021-04-23’,‘2021-04-22’) =1
5、控制函数逻辑
if(test,t,f) 如果test是真,返回t;否则返回f
ifnull(arg1,arg2) 如果arg1不是空,返回arg1,否则返回arg2
nullif(arg1,arg2) 如果arg1=arg2返回NULL;否则返回arg1
case when[test1] then[result1] when[test2] then[result2] else[default] end 如果testN是真,则返回resultN,否则返回default
case [test] when[val1] then [result]…else[default] end 如果test和val相等,则返回result,否则返回default
6、左右内连接
左连接就是以左边的表为基表连接右表,在一条数据中左表全显示,符合条件显示右表的值,否则就是空。右连接就是反过来,内联接就是两个表都符合条件才显示数据。
左连接select * from t_worker t1 left join t_depart t2 on t1.deptno =t2.deptno where empno>7800;
右连接 ,内联接:right join on, inner join on