注意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)
分享到:
相关推荐
在C#编程语言中,虽然没有内建的货币类型,但通常会使用`decimal`类型来处理财务数据,因为它具有更高的精度和更小的舍入误差。`decimal`类型适合表示货币值,因为它能存储多达28-29位的小数部分,并且在计算过程中...
4. 若不需精确计算,可以使用整型替代decimal,尤其在大数据量时,考虑使用bigint代替decimal存储货币值。 5. varchar适合存储长度变化较大的字符串,而char适合存储长度固定的短字符串,它不会产生碎片且更节省空间...
MySQL里记录货币用什么字段类型好?** 通常推荐使用`DECIMAL`类型来记录货币值,因为它可以精确地表示小数点后的位数,避免了浮点数类型的精度问题。 **7. NOW()和CURRENT_DATE()有什么区别?** - `NOW()`:返回...
`DECIMAL(M,D)`中,M表示总长度,D表示小数部分长度,适用于需要精确存储货币等数据的场景。 时间日期类型在MySQL中也很常见。`DATE`类型用于存储日期,范围是1000-01-01到9999-12-12;`TIME`类型用于存储时间,...
MySQL,作为广泛使用的开源关系型数据库,遵循SQL标准,提供了多种数据类型以适应不同类型的存储需求。以下是对这些主要数据类型的详细说明: 1. **整型数据**: - `int`:整型数据,存储范围是 -2,147,483,648 至...
FLOAT 和 DOUBLE 用于近似数值计算,而 DECIMAL 用于精确数值计算,适用于需要高精度的场景,如货币计算。 3. 字符串类型:CHAR、VARCHAR、TEXT。CHAR 是固定长度的字符串,VARCHAR 是可变长度的字符串,TEXT 用于...
6. **薪水(salary)**:记录员工的工资,可以使用DECIMAL类型,以适应各种货币金额。 7. **联系方式(contact_info)**:包括电话、电子邮件等,通常使用VARCHAR类型。 8. **地址(address)**:存储员工的家庭或...
17. **主键与候选键**:主键是唯一标识表中每一行的键,不允许有NULL值;候选键也是唯一的,但可以包含NULL。 18. **Unix shell登录MySQL**:使用命令`mysql -u [username] -p`,然后输入密码。 19. **myisamchk**...
在其他数据库如Access中,可以使用`AutoIncrement`关键字达到类似效果,但要注意其具体用法和限制。 通过以上介绍,我们可以看到SQL语言的强大功能,它不仅能够帮助我们高效地管理和操作数据,还能够灵活地适应各种...
- 行标识:`ROWID`(用于唯一标识表中的行)。 - 布尔:`BOOLEAN`(逻辑值)。 - 可信:`REF`(用于引用其他对象的指针)。 2. 复合类型:允许创建结构化数据类型,如记录和数组。 3. 引用类型:用于存储对其他...
本文将详细介绍 SQL Server 中常用的数据类型,并通过对比 Microsoft Access 和 MySQL 中的数据类型来加深理解。 #### 二、Microsoft Access 数据类型 Microsoft Access 支持以下几种数据类型: 1. **Text**: ...
6. **DECIMAL**:用户自定义精度的浮点类型,适用于需要高精度的货币或测量数据。 7. **CHAR**:固定长度的字符串,最多255个字符,常用于存储固定长度的信息,如代码或国别码。 8. **VARCHAR**:可变长度的字符串,...
FLOAT和DOUBLE适合存储近似数值,而DECIMAL则提供精确计算,适合存储货币等需要精确计算的数值。 3. 字符串类型:CHAR、VARCHAR、TEXT、BLOB。CHAR是固定长度的字符串,适合存储较短且长度固定的文本。VARCHAR是可...
Django ORM,全称Object-Relational Mapping,是Django框架中用于数据库操作的一个强大工具。它使得开发者可以用Python对象来表示...在Django中,正确使用ORM可以极大地提高开发效率,同时保持代码的整洁和可维护性。
MySQL字段选择是数据库设计中的重要环节,它直接影响到数据存储的效率、空间占用以及查询性能。MySQL支持多种字段类型,包括数值类型、日期/时间类型和字符串类型。选择合适的字段类型对于优化数据库性能至关重要。 ...
在创建表时,我们需要定义字段的数据类型,如整型(int、smallint、tinyint、bigint)、浮点型(decimal、numeric、float、real)、货币型(money、smallmoney)、日期时间型(datetime、smalldatetime、timestamp)...