函数相当于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函数

按工作类型分等级




原文:https://www.cnblogs.com/hydd/p/12714991.html