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. common lisp wiki

    CLiki: index   http://www.cliki.net/

  2. PhoneGap-----Contacts

    Everything in the code!!! <!DOCTYPE html> <html> <head> <title>Contact Examp ...

  3. hdu2647 逆拓扑,链式前向星。

    pid=2647">原文地址 题目分析 题意 老板发工资,可是要保证发的工资数满足每一个人的期望,比方A期望工资大于B,仅仅需比B多1元钱就可以.老板发的最低工资为888元.输出老板最 ...

  4. Cocos2d-x 3.0 创建一个场景,并设置现场的时候,项目开始执行上主动

    头 #ifndef __TEST_H__ #define __TEST_H__ #include "cocos2d.h" USING_NS_CC; class Test : pub ...

  5. UIButton return(textField textView)

    首先设置TextField 或 TextView的 delegate /////UITextView - (BOOL)textView:(UITextView *)textView shouldCha ...

  6. MQ、JMS以及ActiveMQ

    MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传 ...

  7. leetcode解析回文子串拆分

    转载请注明来自souldak,微博:@evagle Given a string s, partition s such that every substring of the partition i ...

  8. POJ1182 食物链 【并查集变种】

    挺简单的 N个元素扩展为 3*N个 i-A i-B i-C A吃B吃C吃A 挑战程序设计的89面 #include <cstdio> #include <cstdlib> #i ...

  9. IOS线程操作(3)

    采用CGD更有效的比前两个(它被认为是如此,有兴趣的同学可以去试试). 这是推荐的方式来使用苹果的比较. GCD它是Grand Central Dispatch缩写,这是一组并行编程C介面. GCD是 ...

  10. VLine2.0——仿阿里巴巴VIPABC真人视频在线教育(基于Flash支持一对多多对多Web在线视频)

    感兴趣的朋友可与我联系:acsebt@qq.com 一.登陆页 二.功能页