030 - 定点类型(精确值 DECIMAL)

本文介绍了MySQL中用于存储精确数值数据的DECIMAL和NUMERIC类型,它们在处理如货币数据时尤其重要。DECIMAL以二进制格式存储,支持指定精度和小数位数。例如,DECIMAL(5,2)可以存储5位数字,其中2位是小数。在标准SQL中,精度表示总位数,小数位数表示小数点后的位数。MySQL支持多种语法变体,并规定最大位数为65,但实际范围取决于精度和小数位数的设定。创建表时,若值超过列的精度,可能会导致截断或错误。" 109955913,10243102,C语言实现:计算不及格率,"['acm竞赛', 'c语言', '算法']
摘要由CSDN通过智能技术生成

-DECIMAL,NUMERIC:

        该DECIMAL和NUMERIC 类型的存储精确的数值数据。当保留精确度很重要时,例如使用货币数据,则可以使用这些类型。在MySQL中,NUMERIC实现为DECIMAL,因此以下有关的说明DECIMAL同样适用于 NUMERIC。

        MySQLDECIMAL以二进制格式存储值。请参见第12.22节“精度数学”

        在DECIMAL列声明中,可以(通常是)指定精度和小数位数。例如:salary DECIMAL(5,2),在此示例中,5是精度, 2是小数位数。精度表示值存储的有效位数,小数位数表示小数点后可以存储的位数。

        标准SQL要求DECIMAL(5,2)能够存储具有五位数字和两位小数的任何值,因此可以存储在salary 列中的值的范围是从-999.99到 999.99。

        在标准SQL中,语法 等效于 。同样,该语法等效于,其中允许实现确定的值 。MySQL支持这两种语法的变体形式。默认值为10。

DECIMAL(M)DECIMAL(M,0)DECIMALDECIMAL(M,0)MDECIMALM,如果DECIMAL小数位数为0,则值不包含小数点或小数部分。

        最大位数为DECIMAL65,但是给定DECIMAL 列的实际范围可能受给定列的精度或小数位数的限制。当为这样的列分配的值的小数点后的位数比指定刻度允许的位数多时,该值将转换为该刻度。(精确的行为是特定于操作系统的,但是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值