标签:

float,decimal精确度比较

float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的,

用于定义货币要求精确度高的数据。在数据迁移中,float(M,D)是非标准定义,最好不要这样使用。M为精度,D为标度。

mysql>  create table t1(c1 float(10,2), c2 decimal(10,2),c3 float); // 10不包括小数点

mysql>  insert into t1 values(1234567.23, 1234567.23,1234567.23);

mysql>  select * from t1;

数据显示与所用的客户端工具有关

1.在Toad for MySQL中的显示为

c1                    c2                            c3

1234567    1234567.23        1234570

2.在MySQL Query Browser中的显示为

c1                    c2                            c3

1234567.25    1234567.23        1.23457e+006

3.程序中取出数据

1234567          1234567.23        1234570

mysql> insert into t1 values(9876543.21, 9876543.12,9876543.21);

1.在Toad for MySQL中的显示为

c1                    c2                            c3

9876543       9876543.12            9876540

2.在MySQL Query Browser中的显示为

c1                    c2                            c3

9876543.00   9876543.12        9.87654e+006

3.程序中取出数据

9876543         9876543.12        9876540

mysql>  insert into t1 values(1.21, 1.12,1.21);

1.在Toad for MySQL中的显示为

c1                    c2                            c3

1.21                1.12                       1.21

2.在MySQL Query Browser中的显示为

c1                    c2                            c3

1.21               1.12                         1.21

3.程序中取出数据

1.21                1.12                        1.21

mysql>  insert into t1 values(1.2, 1.2,1.2);

1.在Toad for MySQL中的显示为

c1                    c2                            c3

1.2                  1.20                        1.2

2.在MySQL Query Browser中的显示为

c1                    c2                            c3

1.20                1.20                         1.2

3.程序中取出数据

1.2                   1.20                        1.2

mysql>  insert into t1 values(9876543.216, 9876543.126,9876543.216);

1.在Toad for MySQL中的显示为

c1                    c2                            c3

9876543        9876543.13           9876540

2.在MySQL Query Browser中的显示为

c1                    c2                            c3

9876543.00   9876543.13          9.87654e+006

3.程序中取出数据

9876543         9876543.13          9876540

mysql>  insert into t1 values(1.216, 1.126,1.216);

1.在Toad for MySQL中的显示为

c1                    c2                            c3

1.22                1.13                        1.216

2.在MySQL Query Browser中的显示为

c1                    c2                            c3

1.22               1.13                        1.216

3.程序中取出数据

1.22               1.13                        1.216

不定义fload, double的精度和标度时,存储按给出的数值存储,这于OS和当前的硬件有关。

decimal默认为decimal(10,0)

因为误差问题,在程序中,少用浮点数做=比较,可以做range比较。如果数值比较,最好使用decimal类型。

精度中,符号不算在内:

mysql> insert into t1 values(-98765430.21, -98765430.12);

mysql> select * from t1;

c1                              c2

-98765432.00        -98765430.12

标签:

mysql 单精度和双经度_***mysql中经度纬度字段用什么存储(关于mysql的float和decimal区别)...相关推荐

  1. mysql float 怎么设置长度_MySQL中float double decimal区别总结

    作者:极客小俊 一个专注于web技术的80后 你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人! 下表中规划了每个浮点类型的存储大小和范围: 类型大小范围(有符号)范围(无符号)用途fl ...

  2. mysql程序员面试题_程序员面试备战篇:18个经典MySQL面试专题解析(干货分享答案)...

    欢迎关注专栏:Java架构技术进阶.里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦. 微信公众号:慕容千语的架构笔记.欢迎关注一起进步. 1.数据库三范式是什么? 第一范式(1 ...

  3. mysql 多久备份一次_教你如何通过一次单击自动备份mysql数据库

    备份mysql一直是很多朋友的头疼,特别是根据时间段备份,今天我将教你如何每天备份一个mysql数据库文件. 1 首先创建一个批处理文件,将以下代码保存为.bat文件,文件名最好是英文.注意以下路径, ...

  4. mysql 单精度和双经度_mysql 下 计算 两点 经纬度 之间的距离 计算结果排序

    根据经纬度计算距离公式 公式 对上面的公式解释如下: Lung1 Lat1表示A点经纬度, Lung2 Lat2表示B点经纬度: a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung ...

  5. mysql json 引号 双引号_**后台怎么处理JSON数据中含有双引号?

    http://bbs.csdn.net/topics/390578406?page=1 注意是后台,不是用js 另外我这个json是直接取得别人的传过来的字符串,不是我自己拼写的,所以我自己不能做到转 ...

  6. 软件测试mysql存储过程的用处实例_软件测试中实际应用:MySQL5存储过程编写

    软件测试中实际应用:MySQL5存储过程编写 MySql5.0以后均支持存储过程,最近有空,研究了一把这个. 格式: CREATE PROCEDURE 过程名 ([过程参数[,...]]) [特性 . ...

  7. mysql子查询的方式_分布式系统中一种迭代处理MYSQL子查询的方法

    1.技术背景 1.1 背景技术 在分布式mysql中间件系统,DML语句中,子查询需要可能涉及到多个数据分片,如果在DML语句使用子查询,需要首先解析出子查询的具体内容,然后根据路由把子查询发往到各个 ...

  8. mysql 表组是什么_数据库中属性组究竟是什么含义?

    展开全部 属性组的含义就是一组具有相互联系的属性组合而62616964757a686964616fe58685e5aeb931333433626564成的. 属性是比如一张表格中的学号和姓名等.一个事 ...

  9. mysql查找多个姓氏_同时搜索2个字段以从MySQL的表中获取特定的名字和姓氏

    为此,可以将LIKE运算符与AND一起使用.让我们首先创建一个表-mysql> create table DemoTable ( EmployeeFirstName varchar(50), E ...

  10. MySQL数据库job怎么写_数据库中job是什么意思

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. 独家 | 在树莓派+Movidius NCS上运用YOLO和Tiny-YOLO完成目标检测(附代码下载)
  2. Leetcode-937-Reorder Log Files-(Easy)
  3. 根据HTML5 获取当前位置的经纬度【百度地图】【高德地图】
  4. powerpoint 2016表格中添加行
  5. 生信技能树 电脑配置linux,2019-07-23生信Linux20题---生信技能树
  6. 在线订餐系统php心得体会_php网上订餐管理系统
  7. 什么是大规模集成电路计算机,大规模集成电路是什么
  8. 九款远程办公软件,打破时空限制
  9. 超好用的mac虚拟机软件:VM虚拟机 mac中文版
  10. python 封包发包_python中封包建立过程实例
  11. java图片合成_Java图片处理(一)图片合成
  12. 人在囧途之tar命令
  13. 全排列牛客和L46,L47
  14. 还在为图片转Excel而烦恼?6种转换方法让你3秒实现转换
  15. 在职可以考计算机吗,沈阳师范大学在职研可以考计算机证吗
  16. gitlab集成openldap认证
  17. 手把手教你用Python画一朵玫瑰花送给你最重要的那个“她”
  18. 聊一聊WEB前端安全那些事儿
  19. 3D建模师入行之初,就业是角色建模好还是场景建模好?
  20. 【QT开发专题-天气预报】17. 获取城市编号

热门文章

  1. 专业生物信息linux系统,Evvail | Bio-Linux:生物信息专用Linux系统 | Omics - Hunter
  2. 关于Oracle的PARALLEL_MAX_SEVERS参数
  3. 数据库网页搭建教程(一)——数据准备
  4. RCC_APB2Periph_AFIO的理解。。。重映射的一点心得
  5. 利用matlab信号带宽,测量均值频率、功率、带宽
  6. 解决Linux内核问题实用技巧之-dev/mem的新玩法
  7. web开发与设计,这些网站为你提供大量的开发资源与设计灵感
  8. 辉群 mysql支持,群辉下的nas各项共享设置——白羊座适用
  9. 2020最新安卓版本是多少_努比亚Z20安卓P版本刷机包(官方最新固件rom下载V2.24正式版)...
  10. macd ema java源码_MACD指标源码汇总,成功率极高,买卖点提前一目了然!