1.float类型

float列类型默认长度查不到结果。必须指定精度。

比方 num float, insert into table (num) values (0.12); select * from table where num=0.12的话。empty set。

num float(9,7), insert into table (num) values (0.12); select * from table where num=0.12的话会查到这条记录。

mysql> create table tt

-> (

-> num float(9,3)

-> );

Query OK, 0 rows affected (0.03 sec)

mysql> insert into tt(num)values(1234567.8);

ERROR 1264 (22003): Out of range value for column 'num' at row 1

注:超出字段范围,无法插入

mysql> insert into tt(num)values(123456.8);

Query OK, 1 row affected (0.00 sec)

mysql> select
* from tt;

+------------+

| num |

+------------+

| 123456.797 |

+------------+

1 row in set (0.00 sec)

注:小数位数不够,自己主动补齐,可是存在一个问题就是如上的近似值。

mysql> insert into tt(num)values(123456.867);

Query OK, 1 row affected (0.04 sec)

mysql> select * from
tt;

+------------+

| num |

+------------+

| 123456.797 |

| 123456.797 |

| 123456.867 |

+------------+

3 rows in set (0.00 sec)

mysql> select
* from tt where num=123456.867;

+------------+

| num |

+------------+

| 123456.867 |

+------------+

1 row in set (0.00 sec)

mysql> insert into tt(num)values(2.8);

Query OK, 1 row affected (0.04 sec)

mysql> select * from
tt;

+------------+

| num |

+------------+

| 123456.797 |

| 123456.797 |

| 123456.867 |

| 2.800 |

+------------+

4 rows in set (0.00 sec)

mysql> select
* from tt where num=2.8;

+-------+

| num |

+-------+

| 2.800 |

+-------+

1 row in set (0.00 sec)

mysql> insert into tt(num)values(2.888888);

Query OK, 1 row affected (0.00 sec)

mysql> select
* from tt;

+------------+

| num |

+------------+

| 123456.797 |

| 123456.797 |

| 123456.867 |

| 2.800 |

| 2.889 |

+------------+

5 rows in set (0.00 sec)

注:小数位数超了,自己主动取近似值。

--------------------------------------------------------------------------------------

2.double类型

mysql> create table tt(

-> num double(9,3)

-> );

Query OK, 0 rows affected (0.02 sec)

mysql> insert into tt(num) values(234563.9);

Query OK, 1 row affected (0.00 sec)

mysql> select * from
tt;

+------------+

| num |

+------------+

| 234563.900 |

+------------+

1 row in set (0.00 sec)

mysql> insert into tt(num) values(2345623.2);

ERROR 1264 (22003): Out of range value for column 'num' at row 1

mysql> insert into tt(num) values(234563.2);

Query OK, 1 row affected (0.00 sec)

mysql> select
* from tt;

+------------+

| num |

+------------+

| 234563.900 |

| 234563.200 |

+------------+

2 rows in set (0.00 sec)

mysql> insert into tt(num) values(2.8);

Query OK, 1 row affected (0.00 sec)

mysql> select
* from tt;

+------------+

| num |

+------------+

| 234563.900 |

| 234563.200 |

| 2.800 |

+------------+

3 rows in set (0.00 sec)

FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,“(M,D)”表示该值一共显示M位整数。当中D位位于小数点后面。

比如,定义为FLOAT(7,4)的一个列能够显示为-999.9999。

MySQL保存值时进行四舍五入,因此假设在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。

mysql float double 类型的更多相关文章

  1. C语言中float,double类型,在内存中的结构(存储方式)

    C语言中float,double类型,在内存中的结构(存储方式)从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以doubl ...

  2. C++中将string类型转换为int, float, double类型 主要通过以下几种方式:

      C++中将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为 ...

  3. float和double类型的存储方式

    Float double 类型在计算机的存储方式 计算机中只认识10的二进制数,那么该如何存储小数呢? 那么我们先看Floa类型: Float在计算机(32位)中是4个字节的,具体地:第一位为符号位0 ...

  4. [C++] string与int, float, double相互转换

    参考:http://blog.csdn.net/candadition/article/details/7342380 将string类型转换为int, float, double类型 主要通过以下几 ...

  5. MySQL类型float double decimal的区别

    语法 MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的 可显示为-999.9999,MySQ ...

  6. MySQL中Decimal类型和Float Double的区别 & BigDecimal与Double使用场景

    MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形 ...

  7. MySQL中 DECIMAL FLOAT DOUBLE的区别

    第一篇文章: MySQL中Decimal类型和Float Double等区别 MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,d ...

  8. MySQL中Decimal类型和Float Double等区别

    MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形 ...

  9. OpenMesh 将默认的 float 类型改为 double 类型

    OpenMesh 中默认的数据类型都是 float 类型的,如果要将其默认的 float 类型改为 double 类型,可以这么做: #include <OpenMesh/Core/Mesh/P ...

随机推荐

  1. 爬虫总结_python

    import sqlite3 Python 的一个非常大的优点是很容易写很容易跑起来,缺点就是很多不那么著名的(甚至一些著名的)程序和库都不像 C 和 C++ 那边那样专业.可靠(当然这也有动态类型 ...

  2. 在iPhoneApp中加载PDF

    原文: http://ios.biomsoft.com/2012/02/17/load-a-pdf-file-in-the-iphone-app-smoothly/ 本节将学习如何从服务器加载 pdf ...

  3. android设置中的Preferencescreen使用方法介绍与分析

    今天主要研究了一下设置中的Preferencescreen应用,它不仅可以作为设置界面显示,并且还可以启动activity,以下主要是对启动activity的介绍 1. Preferencescree ...

  4. H2O是开源基于大数据的机器学习库包

    H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等 ...

  5. 30天自制操作系统第九天学习笔记(u盘软盘双启动版本)

    暑假学习小日本的那本书:30天自制操作系统 qq交流群:122358078    ,更多学习中的问题.资料,群里分享 environment:开发环境:ubuntu 第九天的课程已学完,确实有点不想写 ...

  6. 经常使用Firefox插件大全

    Web开发者经常使用的火狐插件 1)FireShot:是一个截图工具,来源于截图软件Screenshot Studio的开发商,是一个Firefox扩展或者说是Firefox版的Screenshot ...

  7. 百度地图AP1

    百度地图API的用法 百度地图API演示样例 百度地图API学习总结 <1> <%@ Page Language="C#" Inherits="Syst ...

  8. hdu 2642 二维树状数组 单点更新区间查询 模板水题

    Stars Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/65536 K (Java/Others) Total Subm ...

  9. .Net Core配置文件

    .Net Core下如何管理配置文件 一.前言 根据该issues来看,System.Configuration在.net core中已经不存在了,那么取而代之的是由Microsoft.Extensi ...

  10. MySQL中CASE的使用

    语法说明: 方式一: CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE ...