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. hdu 2594 Simpsons’ Hidden Talents 【KMP】

    题目链接:http://acm.acmcoder.com/showproblem.php?pid=2594 题意:求最长的串 同一时候是s1的前缀又是s2的后缀.输出子串和长度. 思路:kmp 代码: ...

  2. Theano+Keras+CUDA7.5+VS2013+Windows10x64配置

    Visual Studio 2013 正常安装,这里只要C++打勾就可以. ANACONDA ANACONDA是封装了Python的科学计算工具,装这个就可以不用额外装Python了.在安装之前建议先 ...

  3. DRP之Oracle_11g数据库安装

    不知道大家在安装了Oracle数据库的时候有没有这样或那样的困惑,今天这篇文章就把Oracle数据库的安装过程理一下,作为总结,方便以后的学习. 首先,将下载的两个文件放在一个目录下解压,然后打开文件 ...

  4. 浅谈spring——spring MVC(十一)

    springMVC框架主要是围绕DispatcherServlet这个核心展开,它负责拦截请求并将其分派给相应的的处理器处理,然后将结果响应给用户.包括注解驱动控制器.请求及响应信息处理.视图解析.本 ...

  5. hdu 4291 A Short problem(矩阵+取模循环节)

    A Short problem                                                          Time Limit: 2000/1000 MS (J ...

  6. ios 上拉载入下拉刷新Dome

    为练手写了一个小的上拉载入很多其它下拉刷新的小的Dome . 没有太多的技术含量,仅仅是作为新手的启示用.是上一篇下拉载入的扩展.先看一下那个再看这个就easy非常多. Dome下载:http://d ...

  7. fopen()惹的祸

    读一个文件,刚开始只读“r”  打开,读数据,刚开始的一段数据还好,但只读了一小部分就读不到正确的数据了,后来反复的看自己的代码,比对文件的内容,纠结了一天了都,感觉什么都没写错啊.心里总认为是这个文 ...

  8. C#关于ref与out的总结

    原文:C#关于ref与out的总结 首先大概说下函数调用的过程,首先为被调用函数分配存储空间(分为代码区和变量区)之后将调用函数传递过来的变量压栈,然后逐一弹栈进行处理,之后进行运算,将需要返回的变量 ...

  9. graphterm 0.40.1 : Python Package Index

    graphterm 0.40.1 : Python Package Index graphterm 0.40.1 Downloads ↓ A Graphical Terminal Interface ...

  10. C++:抽象基类和纯虚函数的理解

    转载地址:http://blog.csdn.net/acs713/article/details/7352440 抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层. ...