函数相当于java中学过的“方法”,SQL中主要的函数有字符函数、数字函数、日期函数、流程控制函数,其各自简介和用法案例如下:
一、字符函数
主要的字符函数总览如下:
在浏览完以上函数简介后,我们逐一通过案例来“认识”它们
1.CONCAT 拼接字符
查询结果:
2.LENGTH 获取字节长度
字节结果:
字符结果:
3.SUBSTRING 截取子串
注意:起始索引从1开始
开始字符,截取长度
4.INSTR 获取字符第一次出现的索引
结果3的意思是白骨精字段是第三个字段开始出现的
5.TRIM去前后空格
注意:去前后空格,中间的去不掉
补充,通过如图的方式,可以去掉指定字符
6.LPAD/RPAD 左填充/右填充
本来木婉清只占三个字符,想要占10个字符,不够的用a来填充,L就是从左开始填充
这种情况就只显示一个
7.UPPER/LOWER 变大写/变小写
补充案例:
9.STRCMP 比较两个字符大小
两个字符如果前面大结果为1,后面大结果为-1,若相等结果为0
10.LEFT/RIGHT 截取子串
第一个结果为鸠,第二个结果为摩智
二、数字函数
1.ABS绝对值
2.CEIT向上取整,返回>=该参数的最大整数
3.FLOOR向下取整,返回<=该参数的最大整数
4.ROUND,四舍五入
ROUND的第二个参数是保留小数位
5.TRUNCATE 截断
6.MOD取余
补充:计算余数的原理
三、日期函数
1.NOW 时间+日期
2.CURDATE 日期
3.CURTIME 时间
4.DATEDIFF 获取两日期的差,以天计算
5.DATE_FORMAT 日期格式函数
使用方法:
字符规范:
案例:
6.STR_TO_DATE 按指定格式将字符串解析为指定日期类型
转换成合法日期后比较大小
四、流程控制函数
流程控制函数类似循环语句,if之类
1.IF函数
成立输出前面,不成立输出后面
2.CASE函数
类似于c语言里的switch,else相当于default
案例1:
案例2:
补充:案例练习
也可以用LEFT函数
按工作类型分等级