ABAP7.40新特性15-嵌入表达式
1、数值
常见的数值表达式如下:
ABS:取绝对值;
CEIL:向上取整;
FLOOR:向下取整;
DIV:除法计算,取整数位;
DIVISION:除法计算,保留 N 位小数;
MOD:除法计算,取余数;
ROUND:计算舍入值;
2、字符串
在 SELECT LIST 使用嵌入表达式来处理字符串, 通常情况下字符串返回结果不能超过255个字符,如果字符长度异常,语法检查时会有错误提示。
常见的字符串表达式如下:
CONCAT:连接字符串,参数固定为2个,各个表达式之间可以嵌套使用,CONCAT内部也可以使用 “&&”;
&&:连接字符串,参数没有个数限制,但不能将其他内嵌表达式当作参数使用,仅作为操作符使用,在非SELECT语句中也可以被使用;
CONCAT_WITH_SPACE:连接字符串,并用 N 个空格分隔,该表达式结果不能超过1333个字符;
INSTR:遍历字符串,查找指定字符 S1 并返回第一次出现的位置,没有查到则返回0;
LEFT/RIGHT:从字符串左/右侧开始取出 N 位字符,忽略前导/尾部的空格;
LENGTH:计算字符串长度;
LOWER/UPPER:将字符串转换成小写/大写;
LPAD/RPAD:在字符串左侧/右侧填充指定字符 S1,直到字符串长度为 N,如果初始值长度>=N,则不会填充,但是超过 N 位的字符会被截断;
LTRIM/RTRIM:从字符串左侧/右侧开始逐个删除指定字符 S1,直到出现其他字符为止,默认会删除尾部的空格;
REPLACE:将字符串中所有的指定字符 S1 用其他字符 S2 代替;
SUBSTRING:从字符串第 N 位开始截取长度为 M 的字符,系统会默认检查截取范围是否超出该字段最大长度,以避免造成DUMP;
3、日期/时间
在 SELECT LIST 使用嵌入表达式来处理日期/时间。
常见的日期/时间表达式如下:
DATS_IS_VALID/TIMS_IS_VALID:校验日期/时间有效性,有效时返回 1,否则返回 0(时间有效性的函数有报错,可能版本不支持);
DATS_DAYS_BETWEEN:计算日期D1和D2相隔的天数;
DATS_ADD_DAYS:为指定日期加上N天;
DATS_ADD_MONTHS:为指定日期加上N月;
(篇幅有限,不再全体展现)