oracle中decimal用法(oracle declear)
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