CDS 常用函数

下表展示了 ABAP CDS 中 CDS 视图中字符串的 SQL 函数,以及对参数的要求。这些函数的含义可以在字符串的 SQL 函数下找到。

功能有效的参数类型结果类型
CONCAT(arg1, arg2)见下文如果参数的类型为 SSTRING,则为 SSTRING,否则为带有结果长度的 CHAR。
CONCAT_WITH_SPACE(arg1, arg2, space)arg1、arg2:见下文 

space:大于 0 且小于或等于 1331 的正数字文字
如果参数的类型为 SSTRING,则为 SSTRING,否则为带有结果长度的 CHAR。
INSTR (arg, sub)arg:见下文 

sub:非空数字文字
INT4
LEFT(arg, len)arg:见下文 

len:大于 0 且小于或等于 1333 的正数字文字
如果 arg 的类型为 SSTRING,则为 SSTRING,否则为长度为 len 的 CHAR
LENGTH(arg)见下文INT4
LPAD (arg, len, src)arg:见下文 

len:大于 0 且小于或等于 1333 的正数字字面量 

src:字符字面量
如果 arg 的类型为 SSTRING,则为 SSTRING,否则为长度为 len 的 CHAR
LTRIM(参数,字符)arg:见下文 

char:长度为 1 的字符字面量
如果 arg 的类型为 SSTRING,则为 SSTRING,否则为长度为 arg 的 CHAR。
REPLACE(arg1, arg2, arg3)见下文如果 arg1 或 arg3 具有 SSTRING 类型,则为 SSTRING,否则为具有最大可能结果长度的 CHAR。
RIGHT (arg, len)arg:见下文 

len:大于 0 且小于或等于 1333 的正数字文字
如果 arg 的类型为 SSTRING,则为 SSTRING,否则为长度为 len 的 CHAR
RPAD (arg, len, src)arg:见下文 

len:大于 0 且小于或等于 1333 的正数字字面量 

src:字符字面量
如果 arg 的类型为 SSTRING,则为 SSTRING,否则为长度为 len 的 CHAR
RTRIM(参数,字符)arg:见下文 

char:长度为 1 的字符字面量
如果 arg 的类型为 SSTRING,则为 SSTRING,否则为长度为 arg 的 CHAR。
SUBSTRING (arg, pos, len)arg:见下文 

pos 和 len:不等于零的正数字文字
SSTRING,如果 arg 的类型为 SSTRING,否则长度至少为 len 的 CHAR 或 NUMC
下表显示了 ABAP CDS 和 Open SQL 支持的字符串的 SQL 函数。最后两列指示可以使用函数的位置。
SQL函数结果ABAP CDSOPENSQL
CONCAT(arg1, arg2)arg1 和 arg2 中字符串的链接。arg1、arg2 和结果中的尾随空白将被忽略。结果的最大长度为 1333。XX
CONCAT_WITH_SPACE(arg1, arg2, space)arg1 和 arg2 中的字符串连接与 CONCAT 一样。在 arg1 和 arg2 之间插入space中指定的space数。结果的最大长度为 1333。X-
INSTR (arg, sub)arg 中 sub 中第一次出现的字符串的位置(区分大小写)。arg 尊重前导space并忽略尾随space。sub 尊重所有space。sub 必须至少包含一个字符。如果未找到任何匹配项,则结果为 0。X-
LEFT(arg, len)长度为 len 的字符串与 arg 的 len 左字符(忽略尾随space)。len 的值不能大于 arg 的长度。X-
LENGTH(arg)arg 中忽略尾随space的字符数。XX
LPAD (arg, len, src)长度为 len 的字符串,带有 arg 的右对齐内容,没有尾随space,其中扩展字符串产生的前导space被参数 src 中的字符REPLACE(尊重所有space)。保留 arg 的尾随空白。如果需要的字符多于 src 中存在的字符,则重复使用 src 的内容。如果 len 小于 arg 的长度,则在右侧截断。如果 src 为空且 len 大于 arg 的长度,则 arg 保持不变。XX
LTRIM(参数,字符)包含 arg 内容的字符串,其中删除了所有尾随空白以及与 char 中的字符匹配的所有前导字符。char 中的空白很重要。XX
REPLACE(arg1,arg2,arg3)字符串 arg1,其中 arg2 的所有实例都替换为 arg3 中的内容。字母的替换区分大小写。所有参数中的尾随space都将被忽略。结果的最大长度为 1333。XX
RIGHT (arg, len)长度为 len 的字符串与 arg 的 len 右边字符(忽略尾随space)。len 的值不能大于 arg 的长度。XX
RPAD (arg, len, src)长度为 len 的字符串,带有 arg 的左对齐内容,没有尾随space,并且其中由扩展字符串产生的尾随space被参数 src 中的字符替换(尊重所有space)。保留 arg 的尾随空白。如果需要的字符多于 src 中存在的字符,则重复使用 src 的内容。如果 len 小于 arg 的长度,则在右侧截断。如果 src 为空且 len 大于 arg 的长度,则 arg 保持不变。X-
RTRIM(参数,字符)包含 arg 内容的字符串,其中删除了所有尾随空白以及与 char 中的字符匹配的所有尾随字符。char 中的空白很重要。XX
SUBSTRING (arg, pos, len)长度为 len 的位置 pos 的 arg 子串。必须指定 pos 和 len,以便子字符串在 arg 内。XX
以下可以指定为参数 arg:
  • 合适类型的文字。文字可以以域名称作为前缀。
  • 当前 CDS 视图的数据源 data_source 的合适字段。
  • 标识数据源 data_source 的合适字段的路径表达式。
  • 从参数列表parameter_list 输入参数。
  • 以下预定义函数和表达式(如果它们返回匹配类型):
  • 其他预定义的 SQL 函数
  • 算术表达式
  • 使用 CAST 进行类型修改
arg、arg1、arg2 和 arg3 的有效参数类型为 CHAR、CLNT、LANG、NUMC、CUKY、UNIT、DATS、TIMS 和 SSTRING。

在指定显式长度 len 的函数中,结果的实际长度在 CDS 视图激活时定义,并且至少与 len 一样长。

在除 LPAD 和 RPAD 之外的所有函数中,在实际处理之前删除所有参数的尾随空白,并在返回操作之前删除结果的尾随空白。在 LPAD 和 RPAD 中,参数 src 的尾随空格被保留。

原文链接:https://blog.csdn.net/huanglin6/article/details/82627757

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值