目录
- 控制流函数
- 时间函数
- 常用字符串函数
一.控制流函数
![83a85c4a6566180ebe9dbf6a5e68f455.png](https://i-blog.csdnimg.cn/blog_migrate/0d4a509cc66d1acebb4781943c6f56a5.png)
IF函数
数据集:
![6006ce3a273d72e821821fb27f7de92f.png](https://i-blog.csdnimg.cn/blog_migrate/f8422c413f0ab8e2ee1b76d820439f84.jpeg)
SELECT 门派, 姓名,
IF(武力值>90, "绝世高手", "资质一般") AS 武力评级,
IF(智力值>90, "当世诸葛", "资质一般") AS 智力评级,
武力值, 智力值
FROM swordsman
![87e6248ebc73a4442efb2cd335e9ce01.png](https://i-blog.csdnimg.cn/blog_migrate/68e216b0a6c49637037bd38535abb8cc.png)
CASE WHEN THEN ELSE END 函数
SELECT 门派, 姓名,
CASE WHEN 武力值>=90 THEN "绝世高手"
WHEN 武力值>=80 THEN "一流高手"
WHEN 武力值>=70 THEN "二流高手"
WHEN 武力值>=60 THEN "三流高手"
ELSE "不入流" END AS 武力评级,
武力值,
CASE WHEN 智力值>=90 THEN "当世诸葛"
WHEN 智力值>=80 THEN "资质良好"
WHEN 智力值>=70 THEN "资质一般"
WHEN 智力值>=60 THEN "资质还行"
ELSE "不给力" END AS 智力评级,
智力值
FROM swordsman
![697982f8bafc34651d6a88580981c87e.png](https://i-blog.csdnimg.cn/blog_migrate/17e30d794cb9de70a4c061bb392dd994.jpeg)
二.时间函数
Date_format函数
作用:字符串类型数据,格式化时间类型
SELECT 姓名, DATE_FORMAT(生日,"%Y-%m-%d") AS birthday
FROM swordsman
WHERE 姓名 like "黄%"
![ce24c869b9e277016bdb03defb4de929.png](https://i-blog.csdnimg.cn/blog_migrate/ba417f33516cf31c1069b6cf187d9bd6.png)
SELECT 姓名, DATE_FORMAT(生日,"%Y年%m月%d日") AS birthday
FROM swordsman
WHERE 姓名 like "黄%"
![23d375290af45c86c04327f18d20948a.png](https://i-blog.csdnimg.cn/blog_migrate/21e51cd9f01d08551fc0eb3a90260877.png)
![b0c046e5b47fe72b191eff5e5617ec5d.png](https://i-blog.csdnimg.cn/blog_migrate/194cc03f1fb71fbfa2c4323b7d97722a.jpeg)
TIMESTAMPDIFF函数
作用:返回两个时间数据之间,相差的时间
SELECT TIMESTAMPDIFF(YEAR,
(SELECT 生日 FROM swordsman WHERE 姓名 = "黄蓉"),
(SELECT 生日 FROM swordsman WHERE 姓名 = "黄药师")) AS "DIFF"
![96d6b3de37e26355efa6bea4282b27e5.png](https://i-blog.csdnimg.cn/blog_migrate/f8e72c99f89c9c596f37d83182cddfc8.png)
三.常用字符串函数
LEFT函数
作用:从左截取字符串
SELECT 姓名, 身份证, LEFT(身份证, 6) AS "身份证前6位"
FROM swordsman
![c72beb3b00bbf7c7bbdeff0b88cef668.png](https://i-blog.csdnimg.cn/blog_migrate/c59f2386b3d44b1a64087b2e1784aa55.png)
CONCAT函数
作用:字符串拼接
SELECT CONCAT(门派, "-", 姓名) AS "门派及姓名"
FROM swordsman
![93acf30b8bf91b835aa256e6fbcadf0e.png](https://i-blog.csdnimg.cn/blog_migrate/b4eb61cd77f1bde5c1abffe5e1eae893.png)
SUBSTR函数
作用:截取字符串
SELECT SUBSTR(身份证, 7, 8) AS "截取生日"
FROM swordsman
![e4ff6c7b97048fe43a6c2de8fe888aba.png](https://i-blog.csdnimg.cn/blog_migrate/0ca046963c365fed0eadc21891d1a79d.png)
LENTH函数
作用:返回字符串长度
SELECT LENGTH(身份证)
FROM swordsman
![bdc97431c8dde102fa42275b0b757608.png](https://i-blog.csdnimg.cn/blog_migrate/16dd72946688de5af27a0551b3603123.png)