CDS算术函数
DIV( ARG1 , ARG2 )
• 仅输入整数值
• (INT1,INT2,INT4,INT8,DEC,CURR,QUAN)
• 结果类型为ARG1,且总是四舍五入
MOD( ARG1 , ARG2 )
• 取余数
• 结果类型为ARG1,结果可能为负数
DIVISION( ARG1 , ARG2 ,DEC )
• 取ARG1除以ARG2的值,并保留DEC位的小数位数
• 结果类型带小数点后十进制的DEC,长度取决于ARG1类型
• 结果四舍五入
ABS( ARG )
• 返回ARG的绝对值,且总是四舍五入
FLOOR( ARG )
• 舍入到下一个较低的整数
• ARG>0,则趋于0;ARG<0,则远离0
• 例如:
floor(1.5) = 1.
floor(-1.5) = -2.
CEIL( ARG )
• 舍入到下一个更高的整数,和Floor相反
• 如果arg> 0,则远离0;如果arg <0,则趋于0
ROUND( ARG,POS )
• 其中,如果 POS 大于 0,则四舍五入到指定的小数位。
• 如果 POS 等于 0,则四舍五入到最接近的整数。
• 如果 POS 小于 0,则在小数点左侧进行四舍五入。
• 例如:
ROUND(3.19, 1) 将 3.19 四舍五入到一个小数位 (3.2)
ROUND(2.649, 1) 将 2.649 四舍五入到一个小数位 (2.6)
ROUND(-5.574, 2) 将 -5.574 四舍五入到两小数位 (-5.57)
ROUND(18.8, -1) 将 18.8 四舍五入到小数点左侧一位 (20)。这个参数-1表示取整到十位数。
CASE<选择判断处理>
• 例如:
@AbapCatalog.sqlViewName: 'ZMATH'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '算术计算'
define view ZTST_MATH as select from mara {
mara.mandt as Mandt,
mara.matnr as Matnr,
case
when ( mara.mtart = 'SERV' )
then '01'
else '02'
end as Flag
}
目录 返回
首页