浮点数据类型能带小数又能计算。它包括REAL 数据类型、FLOAT、DECIMAL、NUMERIC
给大家简单分析一下:
1、REAL 数据类型 REAL数据类型可精确到第7 位小数,其范围为从-340E -38 到340E +38。 每个REAL类型的数据的存储空间占用4 个字节。
2、FLOAT FLOAT数据类型可精确到第15 位小数,其范围为从-179E -308 到179E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 存储空间暂用8个字节。
3、DECIMAL DECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。可将其写为DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。其中p 表示可供存储的值的总位数(不包括小数点),缺省值为18; s 表示小数点后的位数,缺省值为0。 例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数5。 位表4-3 列出了各精确度所需的字节数之间的关系。
4、NUMERIC NUMERIC数据类型与DECIMAL数据类型以及其模式一样。
2个建议,
1尽量少用rsupdate等可更新记录集
2把dj,buymoney的类型改成decimal类型,小数点精确到后面2位
应该没有问题
在rsupdate之前使用msgbox 看一下你的SQL
因为要保留3位整数,所以最少是number(5,2)。
举例演示步骤如下:
1、创建测试表,
create table test_num2(id int , value number(5,2));
2、插入测试数据
insert into test_num2 values(1,12345);
insert into test_num2 values(2,45678);
insert into test_num2 values(3,8888);
insert into test_num2 values(4,99);
commit;
3、查询表中全量数据,可以发现数据有3位整数、2位小数,select t from test_num2 t;
4、插入4位整数,可以发现会执行报错,因为number(5,2),最多只能保存3位整数;insert into test_num2 values(3,888888);
以上就是关于SQL哪些数据类型能带小数又能计算的全部的内容,包括:SQL哪些数据类型能带小数又能计算的、怎样往sql数据库中输入小数、SQL语言的数据类型中,整数部分3位,小数部分2位的定点小数的定义是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)