SQL 算术函数

1. 前言

解释:SQL 内置的算术函数主要用于对数值类型的字段进行算数运算

本小节,我们将一起学习 SQL 函数中的算术函数。

有时候,我们需要对数据表中的数值字段进行算术运算,如需要对分数score取两位小数等;为此,SQL 提供了方便的算术函数。

本小节测试数据如下,请先在数据库中执行:

DROP TABLE IF EXISTS 5axxw_user;
CREATE TABLE 5axxw_user
(
  id int PRIMARY KEY,
  username varchar(20),
  score float,
  age int
);
INSERT INTO 5axxw_user(id,username,score,age)
VALUES (1,'peter',10.12,18),(2,'pedro',-9.23,24),(3,'jerry',1.27,22);

2. 实例

在 SQL 中,常见的算术函数有三个,它们分别是:

函数名作用
ABS取绝对值
MOD取余数,接受两个参数,第一个为数值,第二个为除数
ROUND四舍五入,接受两个参数,第一个为数值,第二个是小数位数

2.1 例1 取分数绝对值

在 5axxw_user 的用户中,有的人懒惰且经常逃课,因此其分数是负数,我们可以通过ABS来得到他分数的绝对值:

SELECT ABS(score) FROM 5axxw_user WHERE id=2;

结果:

+-------------------+
| ABS(score)        |
+-------------------+
| 9.229999542236328 |
+-------------------+

2.2 例2 取年龄的余数

我们还可以通过MOD来得到用户年龄的余数,如对5取余:

SELECT MOD(age,5) FROM 5axxw_user WHERE id=1;

结果:

+------------+
| MOD(age,5) |
+------------+
| 3          |
+------------+

2.3 例3 取分数的 1 位小数

我们的分数录入的时候是2位小数的,但是我们可能需要1位的有效小数:

SELECT ROUND(score,1) FROM 5axxw_user WHERE id=3;

结果:

+----------------+
| ROUND(score,1) |
+----------------+
| 1.3            |
+----------------+

Tips: PostgreSQL 不支持 ROUND 函数。

3. 小结

  • 一般而言,数值运算函数用的不多,但是ROUND在数据分析的时候还是非常实用的。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值