【MySQL数据库】- 其他函数的使用
字符函数、数字函数、日期时间函数、流程控制函数、自定义函数。
·
第一关:字符函数
字符串常用函数:
| 函数 | 作用 |
|---|---|
| CONCAT() | 字符串的拼接 |
| CONCAT_WS() | 使用指定的字符将目标字符串进行拼接 |
| FORMAT() | 数字格式化 |
| LOWER() | 字符串全部转换为小写 |
| UPPER() | 字符串全部转换为大写 |
| LEFT() | 获取左侧的字符串 |
| RIGHT() | 获取右侧的字符串 |
| LENGTH() | 计算字符串的长度 |
| LTRIM() | 删除前导的空格 |
| RTRIM() | 删除后续的空格 |
| TRIM() | 删除前导和后续的空格 |
| SUBSTRING() | 字符串截取 |
| SUBSTRING_INDEX() | 分隔字符串 |
| REPLACE() | 字符串替换 |
| [NOT] LIKE | 模式匹配 |
编程要求
具体任务如下:
以首字母大写,其他字母小写的方式显示所有员工的姓名。
employee员工表数据结构如下:
| id | Name |
|---|---|
| 1 | lYN |
| 2 | wZQ |
| 3 | xLC |
| 4 | aLW |
| 5 | lZY |
实现代码
预期输出
- ±-----+
- | Name |
- ±-----+
- | Lyn |
- | Wzq |
- | Xlc |
- | Alw |
- | Lzy |
- ±-----+
第二关:数学函数
下面是常与数值结合使用的函数:
| 函数 | 说明 |
|---|---|
| CEIL() | 进一(向上)取整 |
| FLOOR() | 舍一(向下)取整 |
| POWER() | 幂运算 |
| SQRT() | 平方根运算 |
| ROUND() | 四舍五入 |
| ABS() | 绝对值计算 |
| RAND() | 生产0-1的随机数 |
| TRUNCATE() | 数字截取 |
| DIV | 整数除法 |
| MOD | 取余数(取模) |
比较运算符
| 函数 | 说明 |
|---|---|
| [NOT] BETWEEN…AND… | [不]在范围内 |
| [NOT] IN() | [不]在范围内 |
| IS [NOT] NULL. | [不]为空 |
编程要求
根据下面表达式修改学生的最终成绩,结果使用四舍五入保留两位小数:
Score表结构如下:
| 字段名 | 说明 |
|---|---|
| s_name | 姓名 |
| s_score | 成绩 |
代码实现

预期输出
- ±----------±--------+
- | s_name | s_score |
- ±----------±--------+
- | Amanda | 72.93 |
- | Evie | 12.63 |
- | Jennifer | 82.43 |
- | Katherine | 63.12 |
- | Megan | 59.02 |
- | Oink | 27.43 |
- | Priti | 43.33 |
- | Reiko | 88.93 |
- | Sarah | 92.33 |
- | Sheila | 81.23 |
- | Wallis | 74.62 |
- | Yetta | 72.93 |
- ±----------±--------+
第三关:日期时间函数和流程控制类函数
日期函数
| 函数 | 说明 |
|---|---|
| NOW() | 当前日期和时间 |
| CURDATE() | 当前日期 |
| CURTIME() | 当前时间 |
| DATE_ADD() | 日期变化 |
| DATEDIFF() | 日期差值 |
| DATE_FORMAT() | 日期格式化 |
| YEAR() | 返回日期的年份 |
| MONTH() | 返回日期的月份 |
| WEEK() | 返回日期的周号 |
format字符串中常用的说明符
| 格式 | 描述 |
|---|---|
| %d | 月的天,数值(00-31) |
| %H | 小时 (00-23) |
| %h | 小时 (01-12) |
| %m | 月,数值(00-12) |
| %p | AM 或 PM |
| %s | 秒(00-59) |
| %T | 时间,24-小时(hh:mm:ss) |
| %Y. | 年,4 位 |
流程控制类函数
| 函数 | 说明 |
|---|---|
| IF() | 判断,流程控制 |
| IFNULL() | 字段值是否为空 |
| CASE | 搜索语句 |
编程要求
具体任务如下:
- 查询所有学生的出生年份及至2019-01-01时的年龄;
- 查询所有课程中的最高分、最低分、平均分和及格率,按课程id升序输出。
Student表结构:
| 字段名 | 说明 |
|---|---|
| s_id | 学生id |
| s_name | 学生姓名 |
| s_birth | 学生生日 |
| s_sex | 学生性别 |
Course表结构:
| 字段名 | 说明 |
|---|---|
| c_id | 课程id |
| c_name | 课程名 |
Score表结构:
| 字段名 | 说明 |
|---|---|
| s_id | 学生id |
| c_id | 课程id |
| s_score | 学生成绩 |
代码实现

第四关:自定义函数
编程要求
具体任务如下:
- 定义一个函数,输出三个数中的最大值,函数形式为:
fn_three_max(param_1 int, param_2 int, param_3 int)
代码实现
预期输出
- ±-------+
- | maxNum |
- ±-------+
- | 999 |
- ±-------+
更多推荐





所有评论(0)