`

MySql数据库中确保精度问题解决方案

阅读更多
TRUNCATE(COLUMNAME,NUM) 截取前NUM位。前者表示字段名,后者表示保留几位小数点。
如:250.32952  是某个字段对应的值,那么用TRUNCATE后就是:250.32。
这个方法非常有用,特别是在这样的情况下:如果要求你先将某两个字段的积截取两位,然后再求和,那么这时单用sum()是不可以的!
TRUNCATE(COLUMNAME1*COLUMNAME2,2)就可以轻松搞定。
 
RAND(N)
返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。
mysql> select RAND();
-> 0.5925
mysql> select RAND(20);
-> 0.1811
mysql> select RAND(20);
-> 0.1811
mysql> select RAND();
-> 0.2079
mysql> select RAND();
-> 0.7888

你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c


LEAST(X,Y,...)
有2和2个以上的参数,返回最小(最小值)的参数。参数使用下列规则进行比较:
如果返回值被使用在一个INTEGER上下文,或所有的参数都是整数值,他们作为整数比较。
如果返回值被使用在一个REAL上下文,或所有的参数是实数值,他们作为实数比较。
如果任何参数是一个大小敏感的字符串,参数作为大小写敏感的字符串被比较。
在其他的情况下,参数作为大小写无关的字符串被比较。
mysql> select LEAST(2,0);
-> 0
mysql> select LEAST(34.0,3.0,5.0,767.0);
-> 3.0
mysql> select LEAST("B","A","C");
-> "A"

在MySQL 3.22.5以前的版本,你可以使用MIN()而不是LEAST。



GREATEST(X,Y,...)
返回最大(最大值)的参数。参数使用与LEAST一样的规则进行比较。
mysql> select GREATEST(2,0);
-> 2
mysql> select GREATEST(34.0,3.0,5.0,767.0);
-> 767.0
mysql> select GREATEST("B","A","C");
-> "C"

在MySQL在 3.22.5 以前的版本, 你能使用MAX()而不是GREATEST.

DEGREES(X)
返回参数X,从弧度变换为角度。
mysql> select DEGREES(PI());
-> 180.000000
RADIANS(X)
返回参数X,从角度变换为弧度。
mysql> select RADIANS(90);
-> 1.570796

TRUNCATE(X,D)
返回数字X,截断为D位小数。如果D为0,结果将没有小数点或小数部分。
mysql> select TRUNCATE(1.223,1);
-> 1.2
mysql> select TRUNCATE(1.999,1);
-> 1.9
mysql> select TRUNCATE(1.999,0);
-> 1


FLOOR(X)
返回不大于X的最大整数值。

mysql> select FLOOR(1.23);
-> 1
mysql> select FLOOR(-1.23);
-> -2

注意返回值被变换为一个BIGINT!


CEILING(X)
返回不小于X的最小整数值。
mysql> select CEILING(1.23);
-> 2
mysql> select CEILING(-1.23);
-> -1

注意返回值被变换为一个BIGINT!
分享到:
评论

相关推荐

    Mysql5.6迁移到HGDBV4.3.4.docx

    本文档主要关注从MySQL 5.6迁移到瀚高数据库(HGDB)4.3.4的过程,以及在这个过程中可能遇到的问题及解决方案。 1. **数据类型迁移** - MySQL中的`DOUBLE`在瀚高数据库中对应为`DOUBLE PRECISION`,这可能会对数值...

    MySQL数据库在自动测试系统中的应用.pdf

    综上所述,MySQL数据库凭借其优秀的性能和易用性,在自动测试系统中扮演了关键角色,不仅解决了大量数据存储和处理的问题,还提升了测试效率和数据安全性。随着技术的不断演进,MySQL数据库在自动测试系统中的应用将...

    JDBC:数据库操作中的日期精度丢失解决办法

    本文将深入探讨这个问题,并提供解决方案。 首先,理解问题的根本原因至关重要。日期精度丢失可能由于以下因素: 1. 数据库字段类型:不同的数据库系统对日期时间类型的精度支持不同。例如,MySQL的DATETIME类型...

    mysql数据库中的大量存储类型宣贯.pdf

    MySQL数据库中的存储类型是数据库设计的关键元素,它们决定了数据如何被存储、检索和处理。以下是对MySQL中主要存储类型的详细说明: 1. CHAR(M): 定长字符串类型,最多存储M个字符。无论实际内容多长,都会占用...

    优秀毕设项目:基于YOLOv5的道路标志识别系统,使用了MySQL数据库,PyQt5进行界面设计.zip

    综上所述,这个项目综合运用了深度学习、数据库管理和GUI编程技术,构建了一个完整的道路标志识别解决方案。通过YOLOv5的高效检测、MySQL的数据存储和PyQt5的界面设计,该系统能够实时监测和记录道路上的标志信息,...

    oracl转mysql注意事项

    - **解决方案**:确保数值类型的字段在MySQL中使用正确的数据类型定义,以避免数据精度损失。 **8. 其他常见转换** - **VARCHAR2** -> `VARCHAR` - **NUMBER** -> `NUMERIC` / `DECIMAL` - **SYSDATE** -> `NOW()`...

    毕设:融合物联网标识与定位技术的仓储管理系统(基于Qt平台、MySQL 数据库以及UWB定位模块开发).zip

    综上所述,这个仓储管理系统结合了物联网标识与定位技术,利用Qt平台开发图形化界面,依赖MySQL数据库进行数据存储,借助UWB实现精确定位,构成了一套完整的解决方案。这样的系统不仅能够提升仓储业务的效率,还为...

    09.MySQL数据库面试题(2022最新版)-重点.pdf

    MySQL适用于各种规模的应用,尤其在Web开发中,是许多企业的首选数据库解决方案。 【数据库三大范式】 数据库设计遵循三个主要的规范化原则,即第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。这些范式旨在...

    用mysqlworkbench数据建模工具快速创建数据库.pdf

    MySQL Workbench是一款强大...总的来说,MySQL Workbench提供了便捷的数据建模工具,但在使用过程中应注意上述问题,以确保数据库的正确创建和维护。理解这些问题及其解决方案可以帮助提高工作效率,避免不必要的错误。

    如何把sqlserver数据迁移到mysql数据库及需要注意事项

    本文主要讨论的是如何将数据从SQL Server迁移到MySQL数据库,以及在这个过程中需要注意的关键点。 首先,我们需要了解SQL Server与MySQL之间的数据类型差异。SQL Server中的一些数据类型在MySQL中可能有不同的对应...

    datax数据从hive导入mysql数据缺失解决

    考虑到修改 DataX 源码的难度和复杂性,本次采取了一种更为简单的解决方案:通过调整 Hive 中的参数配置来间接解决问题。具体来说,减小 `hive.merge.smallfiles.avgsize` 的值,使生成的文件块大小均不超过 256M。 ...

    coreseek中文全文索引解决方案

    CoreSeek是一款专为中文环境设计的全文搜索引擎技术,它主要作为MySQL数据库的扩展,提供了高效、精准的全文索引解决方案。在MySQL的基础上,CoreSeek融入了Sphinx全文索引引擎,使得对中文文本的检索性能得到了显著...

    基于MySQL的中文发音查询的元级实现.pdf

    这篇论文“基于MySQL的中文发音查询的元级实现”探讨了如何在MySQL数据库中高效地实现中文发音查询,这对于提高用户检索效率尤其是在特定行业(如学籍管理、户籍管理、酒店预定系统、电话查号服务系统、药品管理系统...

    MySQL 5.6 for Windows 官方(mysql-5.6.34-winx64.zip)

    MySQL 5.6是MySQL数据库管理系统的一个重要版本,专为Windows操作系统设计,具有高性能、高可用性和稳定性。在本文中,我们将深入探讨MySQL 5.6 for Windows的主要特性、安装过程以及其对winx64平台的支持。 1. **...

    mysql8中文参考手册-latest200708.zip

    此外,InnoDB Cluster是MySQL原生的分布式集群解决方案,提供自动故障切换和数据冗余。 九、JSON支持 MySQL 8.0增加了对JSON数据格式的内置支持,包括JSON字段类型和一系列JSON函数,方便处理半结构化数据。 十、...

    数据库操作及类型转换源代码.rar

    - Access:微软提供的轻量级数据库解决方案,适用于小型项目和个人用户。 - Oracle:一种高性能、企业级的关系型数据库,支持大规模并发访问和大数据量处理。 - Odbc(开放数据库连接):一种数据库访问接口,...

    新版MySQL Enterprise即将面市.pdf

    【MySQL Enterprise】 MySQL Enterprise是Oracle公司提供的一个全面的、企业...以上内容虽然涵盖了多个领域的技术更新,但主要焦点仍在于MySQL Enterprise的新版特性,它在企业级数据库解决方案中的重要地位不言而喻。

    基于ssm+mysql关联规则的计算机类考研院校推荐系统源码数据库.docx

    - **MySQL数据库**:作为存储数据的核心组件,MySQL提供了稳定且高效的数据存储解决方案。在本系统中,MySQL用于存储各种信息,如用户基本信息、历史浏览记录、学校详情等。 #### 功能模块 1. **院校搜索**:支持...

    数据库+mha+mha+数据库高可用

    MHA(Master High Availability)是MySQL环境中的一种解决方案,旨在提高数据库系统的可用性和容错能力。MHA主要针对主从复制架构,通过监控、管理和自动故障切换来保证数据服务不间断。 MHA(MySQL High ...

    MySQL Workbench

    MySQL Workbench是一款强大的数据库设计和管理工具,专为MySQL数据库系统设计。它是SQL开发、数据库建模和数据库管理的集成解决方案,提供了一种图形化的界面,使得数据库操作变得更加直观和高效。 1. **MySQL ...

Global site tag (gtag.js) - Google Analytics