任务描述
本关任务:根据公式修改学生的最终成绩。
相关知识
本章节我们主要介绍数值运算符和比较运算符与函数的使用。
数值运算符
我们常说的“加减乘除”就是数值运算符,例如:
下面是常与数值结合使用的函数:
函数 | 说明 |
---|---|
CEIL() | 进一(向上)取整 |
FLOOR() | 舍一(向下)取整 |
POWER() | 幂运算 |
SQRT() | 平方根运算 |
ROUND() | 四舍五入 |
ABS() | 绝对值计算 |
RAND() | 生产0-1 的随机数 |
TRUNCATE() | 数字截取 |
DIV | 整数除法 |
MOD | 取余数(取模) |
CEIL()和FLOOR()
这两个函数都是对值进行取整,CEIL()
函数是向上取整,FLOOR()
是向下取整:
DIV和MOD
我们可以直接对数值使用/
(除法)或%
(取余),但仅此是计算远远不及我们的需求。
因此还提供了DIV
整数除法函数:
但MOD
取模函数与%
计算是 等价 的:
ROUND()、POWER()、SQRT()和TRUNCATE()
ROUND()
函数:四舍五入, 下面示例为:
POWER()
函数:幂运算, 下面示例为2^3=8
:
SQRT()
函数:平方根运算, 下面示例为:
TRUNCATE()
函数:数字截取,只做截取,不发生四舍五入, 下面示例为:
比较运算符
除了数值运算符,MySQL
中还有比较运算符:
函数 | 说明 |
---|---|
[NOT] BETWEEN...AND... | [不]在范围内 |
[NOT] IN() | [不]在列出值范围内 |
IS [NOT] NULL | [不]为空 |
BETWEEN...AND...
:指定一个范围,只要选择的数字在这个范围内则为1
否则为0
;
IN()
:指定列出值,只要选择的数字存在其中则为1
否则为0
;
IS NULL
:判断字段是否为空。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
- 根据下面表达式修改学生的最终成绩,结果使用四舍五入保留两位小数:
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 |
+-----------+---------+
注意:求完根号后就四舍五入取两位小数,与 s_score 相减后再截取两位小数做最终输出。
#请在此添加实现代码
########## Begin ##########
UPDATE Score SET s_score =
s_score - TRUNCATE(ROUND(SQRT((POWER(4,4)-POWER(3,3))/POWER(2,2)),2),2);
########## End ##########