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
} 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值