***mysql中经度纬度字段用什么存储(关于mysql的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的float和decimal区别)的更多相关文章
- 【整理】mysql中information_schema.tables字段说明
[整理]mysql中information_schema.tables字段说明 2016-05-04 16:47:50| 分类: 默认分类|举报|字号 订阅 下载LOFTER我的照片书 | ...
- mysql中的null字段值的处理及大小写问题
在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false.主要出现在常 ...
- Mysql中自增字段(AUTO_INCREMENT)的一些常识
Mysql中自增字段(AUTO_INCREMENT)的一些常识: http://chengxuyuan.naxieshir.com/fenlei/2/p/151.html
- MySQL 中的反引号(`):是为了区分 MySql 关键字与普通字符而引入的符号;一般,表名与字段名都使用反引号。
MySQL 中的反引号(`):是为了区分 MySql 关键字与普通字符而引入的符号:一般,表名与字段名都使用反引号.
- mysql中查询一个字段属于哪一个数据库中的哪一个表的方式
mysql中查询一个字段具体是属于哪一个数据库的那一张表:用这条语句就能查询出来,其中 table_schema 是所在库, table_name 是所在表 --mysql中查询某一个字段名属于哪一个 ...
- Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?
Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?先上两种实现方式的实例:$querys["house_type_image"] ...
- mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现?
mysql中根据一个字段相同记录写递增序号,如序号结果,如何实现? mysql中实现方式如下: select merchantId, NameCn, send_date, deliver_name ...
- MySQL中的存储过程、游标和存储函数
MySQL中的存储过程首先来看两个问题: 1.什么是存储过程? 存储过程(Stored Procedure)是在数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存 ...
- mysql中information_schema.views字段说明
1.查看视图并不是查询视图数据,而是查看数据库中已经存在的视图的定义,查看视图必须要有SHOW VIEW权限,MySQL的数据库下的user表中存储这这个数据.查看视图的方法有:DESCRIBE,SH ...
随机推荐
- MySQL force Index 强制索引概述
以下的文章主要介绍的是MySQL force Index 强制索引,以及其他的强制操作,其优先操作的具体操作步骤如下:我们以MySQL中常用的hint来进行详细的解析,如果你是经常使用Oracle的 ...
- 修改了n次效率还是不可接受
- sprintf
功能:将数据格式化到字符串中 原型:int sprintf( char *buffer, const char *format, [ argument] … );返回值是这个字符串的长度 上次我企图这 ...
- 关于31天App教程示例中一些因SDK版本而出现的问题(转)
由于国外那个知名的31天案例教程比较老,所用官方API是2008年时的2.X,所以在现在的Xcode3-4之后或多或少都有编译警告和错误信息.必须做些适应iOS版本的代码更改才能顺利编译通过. Day ...
- cdrecord光盘烧录工具
我们是透过 cdrecord 这个命令来进行文字介面的烧录行为,这个命令常见的选项有底下数个: [root@www ~]# cdrecord -scanbus dev=ATA <==查询烧录机位 ...
- Matlab数值计算最简单的一个例子——指数衰减
放射性衰变是指数衰减的典型例子.另外还有化学反应某反应物的减少,RC电路电流的减小,大气压随海拔高度的减小等. 指数衰减的方程: \begin{equation} \frac{dN(t)}{dt}=- ...
- 习惯mac . OS X 安装MacPorts
1. 安装必要的软件 安装MacPorts需要先安装X11和Xcode,Lion系统已经默认安装好了X11,在Appstore里安装Xcode即可. 下载完Xcode之后,一般路径在/Applicat ...
- IIS网站发布部署
Windows—控制面板——程序和功能——打开或关闭Windows功能——Internet信息服务(IIS),一定要选中ASP.Net. 1.打开你的VS2012网站项目,右键点击项目>菜单中 ...
- Third scrum meeting - 2015/10/28
在一天的工作中明显发现到,无法和网站开发团队进行交流会严重导致我们的进程拖延,所以我们在现有的情况下也把大家的goal初步完成了,我们也对代码规范进行了详细的讨论,以及UI的设计完成,所以整个团队都真 ...
- [Effective JavaScript 笔记] 第8条:尽量少用全局对象
初学者容易使用全局变量的原因 创建全局变量毫不费力,不需要任何形式的声明(只要在非函数里用var 你就可以得到一个全局变量) 写得代码简单,不涉及到大的项目或配合(写hello world是不会有什么 ...