首页技术sqldecimal(MySQL数据类型DECIMAL用法)

sqldecimal(MySQL数据类型DECIMAL用法)

编程之家2024-01-28115次浏览

一、“decimal”是什么类型的MySQL

Decimal变量存储为 96位无符号的整型形式,并除以一个 10的幂数。

sqldecimal(MySQL数据类型DECIMAL用法)

变比因子为 0的情形下,最大的可能值为+/-79,228,162,514,264,337,593,543,950,335。

在有 28个小数位的情况下,最大值为+/-7.9228162514264337593543950335,而最小的非零值为+/-0.0000000000000000000000000001。

Decimal数据类型只能在 Variant中使用,不能声明一变量为 Decimal的类型。

SQL表中用的数据有整型,小数型,等等。decimal就是小数型,即此列允许小数的输入。

和浮点型差不多,浮点数是直接把小数转化为二进制,二多数小数转化为二进制是有误差的。

二、Mysql中设置小数点用什么数据类型 decimal

同事问MySQL数据类型DECIMAL(N,M)中N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了一番,结果如下:

sqldecimal(MySQL数据类型DECIMAL用法)

测试表,seller_cost字段定义为decimal(14,2)

CREATE TABLE `test_decimal`(

`id` int(11) NOT NULL,

`seller_cost` decimal(14,2) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf81234

起初,表中内容为空

sqldecimal(MySQL数据类型DECIMAL用法)

mysql> select* from test_decimal;

Empty set(0.00 sec)12

插入整数部分长度为14的数字,报超出列范围的错误

mysql> insert into test_decimal(id,seller_cost) values(1,12345678901234);

ERROR 1264(22003): Out of range value for column'seller_cost' at row 112

插入整数部分长度为12的数字,可以正确插入

三、sql中decimal的用法

decimal(18,0);18是定点精度,0是小数位数。

decimal(a,b)

a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。

b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0到 a之间的值。默认小数位数是 0。

Decimal为SQL Server、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数。使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间,例如百分比使用decimal(4,2)即可。存储数据范围是:-10^38~10^38-1的固定精度和小数位的数字。一个decimal类型的数据占用了2~17个字节。

在C#里decimal表示 128位数据类型。double相比,decimal类型具有更高的精度和更小的范围,它适合于财务和货币计算。

扩展资料:

Decimal数据类型可以在powerBuilder中使用。直接在编写控件的时候使用就可以了。比如:当编写一个Clicked事件脚本时就可以decimal r这样使用。

Decimal数据类型可以在Visual Studio编辑器中使用,只要在一个浮点类型的值后加一个大写或小写的M,则编辑器会认为这个浮点类型的值是一个Decimal类型。这种128位高精度十进制数表示法通常用在财务计算中。要注意的是,在.NET环境中,计算该类型的值会有性能上的损失,因为它不是基本类型。

decimal[(p[, s])] and numeric[(p[, s])]

固定有效位数和小数位数的数字。当使用最大有效位数时,有效值是从- 10^38+1到 10^38- 1。decimal的 SQL-92同义字是 dec和 dec(p, s)。numeric的功能相当於 decimal。

参考资料:百度百科 Decimal

alexa工具条下载(提高alexa排名的八种方法)remoteview(RemoteView的使用)