`

注意mysql 中一定要用decimal标识货币的值

 
阅读更多
注意mysql 中一定要用decimal标识货币的值!不要用float了,举例说明:
  
Create Table LedgerEntries
(
LedgerEntryID Int Primary Key Auto_Increment Not Null
,CustomerID Int Not Null
,Amount Float Not Null
);

然后插入一些数据;
Insert Into LedgerEntries (CustomerID, Amount)
Values (1, 3.14);

Insert Into LedgerEntries (CustomerID, Amount)
Values (1, 30000.14);

最后查询下
Select * From LedgerEntries;

+---------------+------------+---------+
| LedgerEntryID | CustomerID | Amount  |
+---------------+------------+---------+
|             1 |          1 |    3.14 |
|             2 |          1 | 30000.1 |
+---------------+------------+---------+



看到了么?没了最后的一位!,因此,赶紧用decimal吧

  Create Table LedgerEntries
(
LedgerEntryID Int Primary Key Auto_Increment Not Null
,CustomerID Int Not Null
,Amount Decimal(10,2) Not Null
);

Insert Into LedgerEntries (CustomerID, Amount)
Values (1, 3.14);

-- This is the largest value we can insert into a Decimal(10,2)
-- if we have two numbers to the right of the decimal point
Insert Into LedgerEntries (CustomerID, Amount)
Values (1, 99999999.99);

Select * From LedgerEntries;
+---------------+------------+-------------+
| LedgerEntryID | CustomerID | Amount      |
+---------------+------------+-------------+
|             1 |          1 |        3.14 |
|             2 |          1 | 99999999.99 |
+---------------+------------+-------------+
2 rows in set (0.00 sec)



  
1
1
分享到:
评论

相关推荐

    MySQL中Decimal类型和Float Double的区别(详解)

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

    MySQL中decimal类型用法的简单介绍

    MySQL中支持浮点数的类型有FLOAT、DOUBLE和DECIMAL类型,DECIMAL 类型不同于FLOAT和DOUBLE,DECIMAL 实际是以串存放的。DECIMAL 可能的最大取值范围与DOUBLE 一样,但是其有效的取值范围由M 和D 的值决定。如果改变M...

    详解MySQL数据类型DECIMAL(N,M)中N和M分别表示的含义

    关于MySQL数据类型decimal中n和m分别表示什么含义?本文就此问题作了简单论述,并创建相关表进行验证,需要的朋友可以了解下。

    MySQL数据类型中DECIMAL的用法实例详解

    MySQL数据类型中DECIMAL的用法实例详解 在MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都有各自的作用,下面我们就主要来介绍一下MySQL数据类型中的DECIMAL类型的作用和用法。 一般赋予浮点列的值被...

    深入分析MySQL数据类型 DECIMAL

    主要介绍了MySQL数据类型 DECIMAL的相关资料,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下

    python中的decimal类型转换实例详解

    decimal 模块实现了定点和浮点算术运算符,使用的是大多数人所熟悉的模型,而不是程序员熟悉的模型,即大多数计算机硬件实现的 IEEE 浮点数运算。这篇文章主要介绍了python里的decimal类型转换,需要的朋友可以参考下

    MySQL 5.1中文手冊

    2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 ...

    mysql 函数,可以将数字转换为中文大写形式

    mysql 函数,可以将数字转换为中文大写形式。大写数字是中国特有的数字书写方式,利用与数字同音的汉字取代数字,以防止数目被涂改。 据考证,大写数字最早是由武则天发明,后经朱元璋改进完善。

    mysql5.1中文手册

    选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. ...

    MySQL 5.1官方简体中文参考手册

    2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 ...

    MySQL函数-数字转换为大写中文

    MySQL函数 数字转中文 非金额 处理数据类型 decimal(21,6)

    R语言之RMySQL安装包及安装教程常见错误处理

    R语言之RMySQL安装包及安装教程常见错误处理,有问题请留言。

    11.ESQL/C程序中使用DECIMAL数据类型[参照].pdf

    11.ESQL/C程序中使用DECIMAL数据类型[参照].pdf

    MYSQL中文手册

    2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows...

    mysql基础只是总结

    values(值1,值2,值3,⋯⋯),(值1,值2,值3,⋯⋯) 2、insert into 表名 set 字段1=值1,字段2=值2,字段3=值3⋯⋯ 3、表中记录的删除 delete from 表名 where 条件 4、表中记录的更新 update 表名 set 字段1=值1,...

    MYSQL安装包官方试用版

    每个类型的存储需求取决于列值的实际长度(用前面的表中的L表示),而不是该类型的最大可能的大小。例如,VARCHAR(10)列可以容纳最大长度为10的字符串。实际存储需求是字符串(L)的长度,加上一个记录字符串长度的字节...

Global site tag (gtag.js) - Google Analytics