sql 语句中重要的函数还是有很多的,熟知sql函数可以让敲代码的旅程更加顺畅
有关于数字的函数
1、四舍五入:round
select round(-1.55)
2、向上取整,返回大于这个数的最小整数:ceil
select ceil(-1.0002)
3、向下取整:floor
4、截断,截取数字到小数点后几位:truncate
5、返回N除以M余值:mod(N,M)
有关日期的函数
1、返回当前日期+时间 :NOW();
2、返回当前系统时间,不包含时间 :curdate();
3、将字符串通过制定格式转换为日期类型: STR_TO_DATE
SELECT STR_TO_DATE('4-3#1992', '%m-%d#%Y');
结果:1992-04-03
4、将日期转换为制定格式的字符串:date_fotmat
SELECT DATE_FORMAT(NOW(), '%m#%d#%Y');
结果: 04#27#2019
有关于字符操作的函数
1、计算字符串字节数方法:SELECT LENGTH ('lala') ;
2、拼接字符串:SELECT CONCAT('asd', 'we') aa;
3、将字符串改为大写的方法 :SELECT UPPER('vsdnnet');
4、将文本转化为小写的方法:SELECT LOWER(' ABCD' );
5、返回指定位置及其之后的字符串,索引从1开始:SELECT SUBSTR( ' ABCD' , 2 );
6、返回第二个参数在第一个参数中第一次出现的位置,若没有出现,则返回0:SELECT INSTR('ABCD' , 'CD')
7、去除首尾指定的字符,若没有指定,则表示去除空格 ,SELECT TRIM ( '#' from'###acd##sas###');
8、替换所有的指定的字符串为另一个字符串,SELECT REPLACE( 'ABCBCD' , 'BC' ,'#' );
其他函数
1) SELECT VERSION()
#获取sql的版本号
2) SELECT DATABASE()
#获取当前所在数据库名
3)SELECT USER()
#获取登陆用户名
流程控制函数
1) if #一共三个参数,若第一个参数代表的表达式值为true, 则执行第二个参数代表的表达式,否则执行第三个参数代表的表达式
SELECT IF (10 > 5 , '大' , '小' );
结果: 大
2) case
用法一:
#相当于switch case
CASE 要判断的字段或者表达式
WHEN 常量1 THEN 要显示的值1或者与语句1
WHEN 常量2 THEN 要显示的值2或者与语句2
WHEN 常量3 THEN 要显示的值3或者与语句3
ELSE 要显示的值x或者与语句x
END
用法二:
#相当于多重if
#相当于switch case
CASE
WHEN 条件1 THEN 要显示的值1或者与语句1
WHEN 条件2 THEN 要显示的值2或者与语句2
WHEN 条件3 THEN 要显示的值3或者与语句3
ELSE 要显示的值x或者与语句x
END
聚集函数
将一列数据作为一个整体,进行纵向计算
1. count:计算个数
select count (计算的字段名)from 表名
select count (ifnull(字段名,替换值))from 表名
select count(*) from 表名 ;只要一列中有一个值非空,就会计算
3. max:计算最大值
4. min:计算最小值
5. sum:计算和
6. avg:计算平均值
注意:集合函数的计算排除了null值,用 ifnull 方法将null只进行替换