DECODE,trunc,ROUND,mod
来源:互联网 发布:双立人刀具推荐 知乎 编辑:程序博客网 时间:2024/05/24 07:18
to_char(doc.create_date,'yyyy/MM/dd HH24:MI') as create_date,
DECODE(item.category,'冷藏',pt.cold_batch_no,pt.freeze_batch_no) as batch_no,
trunc(x [,y]),其中如果没有指定y,则对x在0位小数进行截断.
例如:TRUNC(5.75)=5.
ROUND函数是对数值进行取整,
例如:ROUND(5.75)=6,表示对5.75在0位小数处进行取整,这里0位小数是没有,不是7, 7是第一位小数了。
mod函数是一个求余函数,其格式为:MOD(number,divisor),即是两个数值表达式作除法运算后的余数。那么:两个同号整数求余与你所知的两个正数求余完全一样(即两个负整数与两个正整数的算法一样),
即两数取余后返回两数相除的余数。
函数MOD可以借用函数 INT 来表示:MOD(n, d) = n - d*INT(n/d) 示例:
MOD(3, 2) 等于 1
MOD(-3, 2) 等于1(与后面的数的符号相同)
MOD(3, -2) 等于-1(与后面数的符号相同)
MOD(-3, -2) 等于 -1
MOD(-3, 0) 等于-3
MOD(3, 0) 等于3
MOD(2,0) 等于2
算 法
一、两个异号整数求余 1.函数值符号规律(余数的符号) mod(负,正)=正 mod(正,负)=负 结论:两个整数求余时,其值的符号为除数的符号。 2.取值规律 先将两个整数看作是正数,再作除法运算 ①能整除时,其值为0 (或没有显示) ②不能整除时,其值=除数×(整商+1)-被除数 例:mod(36,-10)=-4 即:36除以10的整数商为3,加1后为4;其与除数之积为40;再与被除数之差为(40-36=4);取除数的符号。所以值为-4。 二、两个小数求余 取值规律: 被除数-(整商×除数)之后在第一位小数位进行四舍五入。 例:mod(9,1.2)=0.6即:9除1.2其整商为7;7与除数1.2之积为8.4;被除数9与8.4之差为0.6。故结果为0.6。
例:mod(9,2.2)=0.2 即:9除2.2其整商为4;4与除数2.2这积为8.8;被除数9与8.8之差为0.2,故结果为0.2.
综合运用:
(
DECODE
(
(trunc(detail.order_quantity/(select max(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id)) ),0,null,
(trunc(detail.order_quantity/(select max(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id)) )
) ||
DECODE
(
(trunc(detail.order_quantity/(select max(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id)) ),0,null,
(select pu.unit from wms_package_unit pu where pu.item_id=item.id and pu.convert_figure =
(select max(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id))
) ||
DECODE
(
(mod(detail.order_quantity,(select max(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id)) ),0,null,
(mod(detail.order_quantity,(select max(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id)) )
) ||
DECODE
(
(mod(detail.order_quantity,(select max(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id)) ),0,null,
(select pu.unit from wms_package_unit pu where pu.item_id=item.id and pu.convert_figure =
(select min(pu.convert_figure)from wms_package_unit pu where pu.item_id=item.id) )
)
) as 换算数量
- DECODE,trunc,ROUND,mod
- oracle round与trunc的区别 mod取余
- sql------- decode(), trunc(),(+),sign()
- oracle trunc/round用法
- round he trunc
- trunc和round函数
- round,floor,ceil,trunc
- trunc和round函数
- oracle to_date,to_char,trunc,decode用法
- Oracle中的decode/trunc/sign函数
- Oracle的decode、sign、trunc函数
- DECODE(),trunc() ,ceil和floor函数用法
- trunc()函数和Round()函数
- SQL ROUND() 和 TRUNC() 函数
- trunc函数与round函数
- Oracle中的Round和Trunc
- oracle round、trunc 四舍五入函数
- trunc函数与round函数
- EditText setHint()输入提示你知道吗?
- 安装QWT到QT中
- C++文件读写
- 短信订购的问题已解决
- Delphi 实现多国语言
- DECODE,trunc,ROUND,mod
- Java_ABC_5.写入XML
- UML的特点
- 对Linux内核中进程上下文和中断上下文的理解
- EditText输入事件截获与监听
- MOSS站点迁移步骤
- STL总结
- JAVA事件处理的三种不同方法
- sizeof总结