第一关:字符函数
字符串常用函数:
函数 | 作用 |
---|---|
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 |
- ±-------+