oracle中decimal用法(oracle declear)

http://www.itjxue.com  2023-02-17 14:38  来源:未知  点击次数: 

oracle下decimal和number的区别

oracle下decimal和number的区别主要在函数返回值上面

create or replace function test_decimal

return

decimal

is

Result decimal(12,2);

begin

Result := 1234567890.99;

return Result;

end test_decimal;

/

create or replace function test_number

return

number

is

Result number(12,2);

begin

Result := 1234567890.99;

return Result;

end test_number;

/

SELECT test_decimal(), test_number() FROM DUAL;

因为DECIMAL在没有指定小数位的时候,将其默认设置为0,而NUMBER不会做这样处理,所以在过程和函数里面还是用number比较好

decimal(10,2)是什么意思?

decimal(10,2)中的“2”表示小数部分的位数,如果插入的值未指定小数部分或者小数部分不足两位则会自动补到2位小数,若插入的值小数部分超过了2为则会发生截断,截取前2位小数。

“10”指的是整数部分加小数部分的总长度,也即插入的数字整数部分不能超过“10-2”位,否则不能成功插入,会报超出范围的错误。

介绍

Decimal为SQL Server、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数。使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间,例如百分比使用decimal(4,2)即可。

在Oracle中的decimal 是什么意思呢?那在SQL server中该怎么写?

decimal就是decimal,一种数据类型而已,和float赋值兼容,但是比float更精确

oracle decimal(10,0)类型强制转换sql char(10) 如何转换

decimal应该是数字类型的,decimal(10,0)代表数字总共表达十位长度,小数0位.也就是最大存放9999999999,不可存放小数.Oracle中,可以使用to_char函数对数字进行转换,使它变成字符类型.

Oracle中Number decimal,float 和 real 数据类型的区别

主要是 1 可表示数字大小及精度问题 2 存储字节问题float -1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308 取决于 n 的值 real -3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38 4 字节 decimal[ (p[ , s] )] p(精度),s (小数位数)固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。 精度 1 - 9 存储字节数 5 精度 10 - 19 存储字节数 9 精度 20 - 28 存储字节数 13 精度 29 - 38 存储字节数 17

(责任编辑:IT教学网)

更多

推荐程序员考试文章