内容正文:
《数据库原理与应用技术》数字函数-讲义
c.掌握MySQL聚合函数、数学函数、字符串函数、日期和时间函数和其他常用函数的概念及使用;
数学函数:ABS()、FLOOR()、RAND()、TRUNCATE()、SQRT()、ROUND()、ROUND( );
知识点一
1. ABS() 绝对值函数
语法:ABS(x),返回 x 的绝对值。
绝对值是一个数去掉符号后的非负数值:ABS(-5)=5,ABS(5)=5,ABS(0)=0。
ABS() 对 NULL 返回 NULL。
2. SQRT() 平方根函数
语法:SQRT(x),返回 x 的平方根(即求哪个非负数的平方等于 x)。
例如:SQRT(16)=4,SQRT(9)=3,SQRT(2)≈1.41421356。
易错点:当 x 为负数时,在实数范围内没有平方根,MySQL 返回 NULL(并给出警告);SQRT(0)=0。
3. 记忆要点
ABS 与 SQRT 都是"一个参数"的函数。
ABS 结果是非负的;SQRT 只对非负数有意义。
1.SELECT ABS(-3.5) 和 SELECT SQRT(16) 的返回值分别是( )。
A. -3.5 和 4
B. 3.5 和 4
C. 3.5 和 8
D. -3.5 和 8
【答案】B
【解析】ABS(-3.5) 求绝对值,结果为 3.5;SQRT(16) 求平方根,结果为 4。故选 B。
1.(单项选择题)ABS() 函数的作用是( )。
A. 求平方根
B. 求绝对值
C. 四舍五入
D. 求随机数
【答案】B
【解析】ABS() 返回一个数的绝对值。
2. (判断题)SQRT() 函数对负数求平方根时会返回 NULL。( )
【答案】√
【解析】负数在实数范围内没有平方根,MySQL 中 SQRT(负数) 返回 NULL。
3. (填空题)ABS(-8) 的返回值是____。
【答案】8
【解析】ABS() 返回绝对值,-8 的绝对值是 8。
1.(单项选择题)SQRT(9) 的返回值是( )。
A. 3
B. 81
C. 4.5
D. 9
【答案】A
【解析】9 的平方根是 3(3×3=9)。
2. (判断题)ABS(0) 的返回值是 0。( )
【答案】√
【解析】0 的绝对值是 0。
3. (填空题)SQRT() 函数用于求某个数的____。
【答案】平方根
【解析】SQRT() 即平方根函数。
知识点二
1. FLOOR() 向下取整函数
语法:FLOOR(x),返回不大于 x 的最大整数(向下取整)。
例如:FLOOR(3.7)=3,FLOOR(4.9)=4,FLOOR(3)=3。
易错点(负数):FLOOR(-3.2)=-4(不是 -3),因为 -4 是不大于 -3.2 的最大整数;FLOOR(-1.5)=-2。
2. ROUND() 四舍五入函数
语法:ROUND(x) 返回 x 四舍五入后的整数;ROUND(x, d) 返回 x 四舍五入到 d 位小数。
例如:ROUND(3.7)=4,ROUND(3.4)=3,ROUND(3.5)=4;ROUND(3.14159, 2)=3.14,ROUND(3.14159, 3)=3.142。
3. FLOOR 与 ROUND 的区别
FLOOR 一律向下取整(3.7→3),不进行四舍五入。
ROUND 按四舍五入规则取整(3.7→4)。
对同一小数,如 3.7,FLOOR(3.7)=3,ROUND(3.7)=4,结果不同。
1.FLOOR(-3.2) 的返回值是( )。
A. -3
B. -4
C. 3
D. 4
【答案】B
【解析】FLOOR() 返回不大于 x 的最大整数(向下取整)。-3.2 向下取整是 -4(-4 比 -3.2 小,且是不大于 -3.2 的最大整数),而不是 -3。这是 FLOOR() 负数取整的易错点。
1.(单项选择题)ROUND(3.14159, 2) 的返回值是( )。
A. 3.14
B. 3.15
C. 3.142
D. 3
【答案】A
【解析】ROUND(x, 2) 四舍五入保留 2 位小数,3.14159 的第 3 位小数是 1(小于 5,舍去),结果为 3.14。
2. (判断题)FLOOR(3.7) 的返回值是 4。( )
【答案】×
【解析】FLOOR() 是向下取整,不大于 3.7 的最大整数是 3,所以 FLOOR(3.7)=3,不是 4。
3. (填空题)ROUND(3.5) 的返回值是____。
【答案】4
【解析】ROUND() 四舍五入,3.5 四舍五入后为 4。
1.(单项选择题)FLOOR(3.7) 和 ROUND(3.7) 的返回值分别是( )。
A. 3 和 4
B. 4 和 3
C. 3 和 3
D. 4 和 4
【答案】A
【解析】FLOOR(3.7) 向下取整为 3;ROUND(3.7) 四舍五入为 4。
2. (判断题)ROUND(x, d) 表示将 x 四舍五入到 d 位小数。( )
【答案】√
【解析】ROUND(x, d) 中 d 表示保留的小数位数,按四舍五入处理。
3. (填空题)FLOOR() 返回的是不大于给定值的____整数。
【答案】最大
【解析】FLOOR() 返回不大于 x 的最大整数。
知识点
1. TRUNCATE() 截断函数
语法:TRUNCATE(x, d),返回 x 截断到 d 位小数的值,即直接丢弃多余的小数位,不进行四舍五入。
例如:TRUNCATE(3.14159, 2)=3.14,TRUNCATE(3.149, 2)=3.14(第 3 位 9 被直接丢弃,不进位),TRUNCATE(123.456, 1)=123.4,TRUNCATE(12.345, 0)=12。
注意:TRUNCATE(x, d) 必须有两个参数(第二个参数 d 不能省略),这是它与 ROUND(x)(可省略 d)的区别之一。
2. RAND() 随机数函数
语法:RAND(),返回 0 到 1 之间的随机浮点数,取值范围为 [0, 1)(可能等于 0,但不等于 1)。
RAND() 每次调用返回不同的随机数;RAND(n) 使用相同种子 n 时,会返回相同的随机序列。
3. TRUNCATE 与 ROUND 的区别
TRUNCATE 只截断(丢弃多余位);ROUND 会四舍五入。
例如:TRUNCATE(3.149, 2)=3.14,而 ROUND(3.149, 2)=3.15。
1.例题精讲
TRUNCATE(3.149, 2) 和 ROUND(3.149, 2) 的返回值分别是( )。
A. 3.14 和 3.14
B. 3.14 和 3.15
C. 3.15 和 3.14
D. 3.15 和 3.15
【答案】B
【解析】TRUNCATE(3.149, 2) 直接截断(丢弃第 3 位 9),结果为 3.14;ROUND(3.149, 2) 四舍五入(第 3 位 9 进位),结果为 3.15。故选 B。
1.(单项选择题)RAND() 函数返回的随机数取值范围是( )。
A. 0 到 1(含 1)
B. 0 到 1(不含 1,即 [0,1))
C. -1 到 1
D. 任意实数
【答案】B
【解析】RAND() 返回 0 ≤ v < 1 之间的随机浮点数,可能等于 0,但小于 1。
2. (判断题)TRUNCATE(x, d) 与 ROUND(x, d) 的区别在于 TRUNCATE 不进行四舍五入。( )
【答案】√
【解析】TRUNCATE 直接截断多余小数位,不四舍五入;ROUND 则四舍五入。
3. (填空题)TRUNCATE(3.14159, 3) 的返回值是____。
【答案】3.141
【解析】截断保留 3 位小数,直接丢弃第 4 位及以后(5 和 9 被丢弃,不进位),结果为 3.141。
1.(单项选择题)TRUNCATE(123.456, 1) 的返回值是( )。
A. 123.4
B. 123.5
C. 123.46
D. 123
【答案】A
【解析】截断保留 1 位小数,丢弃后两位(56),结果为 123.4(不四舍五入)。
2. (判断题)RAND() 每次调用都返回相同的随机数。( )
【答案】×
【解析】RAND() 每次调用返回不同的随机数(只有使用相同种子 RAND(n) 时,才会产生相同序列)。
3. (填空题)TRUNCATE() 与 ROUND() 不同,它对小数____(进行/不进行)四舍五入。
【答案】不进行
【解析】TRUNCATE 直接截断,不进行四舍五入。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$