任务描述

本关任务:根据公式修改学生的最终成绩。

相关知识

本章节我们主要介绍数值运算符比较运算符与函数的使用。

数值运算符

我们常说的“加减乘除”就是数值运算符,例如:

mysql截掉后三位 mysql截取后两位_mysql截掉后三位

下面是常与数值结合使用的函数:

函数

说明

CEIL()

进一(向上)取整

FLOOR()

舍一(向下)取整

POWER()

幂运算

SQRT()

平方根运算

ROUND()

四舍五入

ABS()

绝对值计算

RAND()

生产0-1的随机数

TRUNCATE()

数字截取

DIV

整数除法

MOD

取余数(取模)

CEIL()和FLOOR()

这两个函数都是对值进行取整,CEIL()函数是向上取整FLOOR()向下取整

mysql截掉后三位 mysql截取后两位_mysql_02

DIV和MOD

我们可以直接对数值使用/(除法)或%(取余),但仅此是计算远远不及我们的需求。

因此还提供了DIV整数除法函数:

mysql截掉后三位 mysql截取后两位_运算符_03

MOD取模函数与%计算是 等价 的:

mysql截掉后三位 mysql截取后两位_mysql截掉后三位_04

ROUND()、POWER()、SQRT()和TRUNCATE()
  • ROUND()函数:四舍五入, 下面示例为:

mysql截掉后三位 mysql截取后两位_mysql_05

  • POWER()函数:幂运算, 下面示例为2^3=8

mysql截掉后三位 mysql截取后两位_运算符_06

  • SQRT()函数:平方根运算, 下面示例为:

mysql截掉后三位 mysql截取后两位_mysql截掉后三位_07

mysql截掉后三位 mysql截取后两位_mysql截掉后三位_08

  • TRUNCATE()函数:数字截取,只做截取,不发生四舍五入, 下面示例为:

mysql截掉后三位 mysql截取后两位_mysql_09

比较运算符

除了数值运算符,MySQL中还有比较运算符:

函数

说明

[NOT] BETWEEN...AND...

[不]在范围内

[NOT] IN()

[不]在列出值范围内

IS [NOT] NULL

[不]为空

  • BETWEEN...AND...:指定一个范围,只要选择的数字在这个范围内则为1否则为0

mysql截掉后三位 mysql截取后两位_mysql截掉后三位_10

  • IN():指定列出值,只要选择的数字存在其中则为1否则为0

mysql截掉后三位 mysql截取后两位_mysql_11

  • IS NULL:判断字段是否为空。

mysql截掉后三位 mysql截取后两位_四舍五入_12

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

  • 根据下面表达式修改学生的最终成绩,结果使用四舍五入保留两位小数:

mysql截掉后三位 mysql截取后两位_mysql截掉后三位_13

Score表结构如下:

字段名

说明

s_name

姓名

s_score

成绩

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

预期输出:

1. +-----------+---------+
2. | s_name | s_score |
3. +-----------+---------+
4. | Amanda | 72.93 |
5. | Evie | 12.63 |
6. | Jennifer | 82.43 |
7. | Katherine | 63.12 |
8. | Megan | 59.02 |
9. | Oink | 27.43 |
10. | Priti | 43.33 |
11. | Reiko | 88.93 |
12. | Sarah | 92.33 |
13. | Sheila | 81.23 |
14. | Wallis | 74.62 |
15. | Yetta | 72.93 |
16. +-----------+---------+
1. +-----------+---------+
2. | s_name | s_score |
3. +-----------+---------+
4. | Amanda | 72.93 |
5. | Evie | 12.63 |
6. | Jennifer | 82.43 |
7. | Katherine | 63.12 |
8. | Megan | 59.02 |
9. | Oink | 27.43 |
10. | Priti | 43.33 |
11. | Reiko | 88.93 |
12. | Sarah | 92.33 |
13. | Sheila | 81.23 |
14. | Wallis | 74.62 |
15. | Yetta | 72.93 |
16. +-----------+---------+

注意:求完根号后就四舍五入取两位小数,与 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 ##########