关于#mysql#的问题:mysql中的加减乘除运算精确吗,直接使用 + - * /运算符还是有专门的函数

mysql中的加减乘除运算精确吗,小数点有两位,直接使用 + - * /运算符还是有专门的函数

精确
但如果你只需要保留小数点后2位,可能需要round之类的函数来四舍五入一下

在MySQL中,使用加减乘除运算符进行运算可能会出现精度误差。这是因为MySQL会对浮点数和双精度数进行近似计算。

为了保证精度,可以使用MySQL提供的专门函数进行计算。以下是几个常用函数的示例:

加法:使用SUM()函数

SELECT SUM(a + b) AS result FROM table;

减法:使用-运算符


SELECT a - b AS result FROM table;

乘法:使用*运算符或MULTIPLY()函数

SELECT a * b AS result1, MULTIPLY(a, b) AS result2 FROM table;

除法:使用/运算符或DIVIDE()函数

SELECT a / b AS result1, DIVIDE(a, b) AS result2 FROM table;

其中,MULTIPLY()和DIVIDE()函数是MySQL 8.0版本新增的函数,可以实现更精确的计算。如果你的MySQL版本不支持这些函数,可以考虑使用第一种方式进行计算。

  • 你看下这篇博客吧, 应该有用👉 :第三部分:mysql常用命令-增删改查+左右连接
  • 除此之外, 这篇博客: 实验+理论:MySQL数据库的增、删、改、查及数据库用户授权——超详细,适合新手看!!!中的 1.2.1.1、查看当前服务器中包含的库 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • SHOW DATABASE 语句:用于查看当前MySQL服务器中包含的库。初始化后的MySQL服务器,默认建立了四个库:sys、mysql、information_schema和performance_schema(其中mysql库中包含了用户认证相关的表),执行以下操作可查看。

    mysql> show databases;   ## 查看数据库信息
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |              |
    | mysql              |
    | performance_schema |
    | root               |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    

如果使用DECIMAL类型来存储小数并进行加减乘除运算的话可以直接使用 + - * / 运算符,如果是浮点型数据类型的话有可能存在精度问题