# P31 31. 基础-函数-小结

> 本页是学习笔记，不等同于视频逐字稿。原声字幕未取得（匿名接口字幕轨为空且需登录，未使用任何账号），也没有逐句讲解记录；讲义只按节与页码对应，切点未逐句确证。

> 以同版讲义的公开镜像核对章节与页码（镜像非官方出品）；非逐字稿，示例为原创补充。

## P31 31. 基础-函数-小结

- 原视频：https://www.bilibili.com/video/BV1Kr4y1i7ru/?p=31（p=31），时长 3:38
- 讲义：参照前节整理，无独立讲义正文；参照前节 3.1–3.4 函数（p53–61）

- 本集练习数据：practice/p31.sql（先执行，再对照小例）

### 一句话理解

函数小结把四类常用函数列成一张清单：字符串、数值、日期、流程；按“参数顺序 + 返回什么”记，比背名字有用。

### 要点

- 四类清单：字符串（CONCAT、LOWER、UPPER、LPAD、RPAD、TRIM、SUBSTRING）、数值（CEIL、FLOOR、MOD、RAND、ROUND）、日期（CURDATE、CURTIME、NOW、YEAR、MONTH、DAY、DATE_ADD、DATEDIFF）、流程（IF、IFNULL、NULLIF、CASE）。
- 记“参数顺序 + 返回什么”：DATEDIFF 是前减后、SUBSTRING 位置从 1 起、ROUND 的第二位是小数位。
- 函数能套在列上：把 LPAD 写进 UPDATE 就能批量补工号（P27）；要对比结果时避开 RAND()、NOW()。

### 30 秒回忆

四类清单；参数顺序 + 返回值一起记；函数可以套列；测试避开 RAND/NOW。

关联课：P27 27. 基础-函数-字符串函数 · P29 29. 基础-函数-日期函数 · P30 30. 基础-函数-流程函数

### 自测

1. DATEDIFF 和 DATE_ADD 都带 DATE，怎么快速区分？
   - 答：DATE_ADD 是“日期 + 一段间隔”，返回新日期；DATEDIFF 是“两个日期差几天”，返回数字。

### 材料与来源

- [平台视频页] P31 原视频页（BV1Kr4y1i7ru） https://www.bilibili.com/video/BV1Kr4y1i7ru/?p=31
- [官方文档] MySQL 8.0 Reference：字符串函数 https://dev.mysql.com/doc/refman/8.0/en/string-functions.html

证据说明：讲义无“小结”正文；本页参照前节 3.1–3.4 函数（p53–61）整理。画面 t40–t70 帧列出前三类函数，流程函数只写类别未列名，IF/IFNULL/CASE 由讲义 p59 表格与 P30 补全；原声字幕未取得。
