首页 > 数据库 >SQL 算术函数

SQL 算术函数

时间:2023-01-22 13:11:20浏览次数:43  
标签:5axxw 算术函数 score user SQL ROUND

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在数据分析的时候还是非常实用的。

标签:5axxw,算术函数,score,user,SQL,ROUND
From: https://www.cnblogs.com/10zhan/p/17064385.html

相关文章

  • sql base nodejs py go操作基本的db
    constmysql=require('mysql2');constconnection=mysql.createConnection({host:'localhost',user:'root',password:'root',database:'mybatis_pl......
  • MYSQL分页查询时没有用ORDER BY出现数据重复的问题
    背景产品反馈,用户在使用分页列表时,出现数据重复的问题,查看代码后发现对应的分页SQL并没有使用orderby进行排序,但是印象中Mysql的InnoDB引擎会默认按照主键id进行排序,本地......
  • readyset 轻量级pg 以及mysql 缓存引擎
    readyset是基于rust开发的pg以及mysql轻量级缓存服务参考玩法如下图  说明readyset一些设计还是很有意思的,很值得学习,同时也可以在项目中尝试使用参考资料ht......
  • Hive SQL题库-中级
    第一章环境准备1.1用户信息表1)表结构user_id(用户id)gender(性别)birthday(生日)101男1990-01-01102女1991-02-01103女1992-03-01104男19......
  • c/c++ mysql api函数
    一、常用APImysql_affected_rows()返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数。mysql_autocommit()切换autocommit模式,ON/OFFmysql_change_user()......
  • 解决Loading class `com.mysql.jdbc.Driver'. This is deprecated.
    IDEA编写的数据库报红字:Loadingclass`com.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriverclassis`com.mysql.cj.jdbc.Driver'.Thedriverisautomatical......
  • MongoDB cmd CRUD操作 对照SQL
    问题​​参考官方文档​​使用MogoDB你就要熟悉他的常用cmd命令,增删改查,聚合多表查询等基本操作,本片博客旨在教会大家快速上手MogoDB,对其有基本了解,会对照Oracle的SQL查询......
  • MySQL之视图
    视图什么是视图视图是一张虚表(建立在真实的table的基础之上,即视图的数据来源是对应的table).首先需要创建一张表,在表的基础上,指定的列映射成一个视图.就是一个SEL......
  • SQL语法
    1.SELECT从数据库中选取数据,一般用来指定列的范围SELECT18ASage//将列表名重命名为age2.From用来指定来源,一般为数据库、表名3.WHERE用来过滤符......
  • Linux中安装MySQL
    1.卸载系统自带的mariadb我这里使用的是Centos7,所以系统会自带Mariadb,需要先卸载掉,当然后面在安装mysql的过程中也会有提示查询已安装的Mariadb安装包:rpm-qa|......