CDS中的日期函数

在CDS中可以对日期进行计算,增加,减少等操作,以下说明CDS中的日期相关的函数的运用.

1.带日期的计算:

作为ABAP开发人员,我们习惯于使用DATE类型的数据对象进行计算:从另一个日期字段中减去一个日期字段以计算它们之间的天数,或向日期字段添加一个整数值以计算该日期将来的某几天。因为ABAP会自动将D类型的值转换为整数值。数据库级别不存在类似的机制。为此,日期字段无法识别为日期字段。通常,数据库将它们创建为长度为8的普通字符字段。在算术表达式中使用这些字符字段将导致语法错误,而使用CAST进行类型转换将导致错误的结果。

2.dats_is_valid

  • 判断字符串,是不是为有效日期
  • 返回类型为INT4的结果
  • 如果日期包含有效日期,则返回1,否则返回0

例子

3.dats_days_between(date1,date2)

  • 返回类型为INT4的结果
  • 计算两个日期之间的天数(对应于ABAP中的date2 – date1)

4.dats_add_days(date,count,on_error)

  • 返回类型为DATS的结果
  • 将计数天添加到给定日期(对应于日期+ ABAP中的计数)

5.dats_add_months(date,count,on_error)

  • 返回类型为DATS的结果
  • 将计数月份添加到给定的日期(ABAP中没有simpe等效项)

6.一般说明:

  • 所有日期均为YYYYMMDD格式(数据库上的技术格式)
  • on_error的可能值:“ FAIL”,“ NULL”,INITIAL,“ UNCHANGED”

为了用日期进行计算,从NW 7.5.0开始,CDS中提供了四个内置函数。

例子代码

结果如图,

CDS中的日期函数 - 第1张  | 优通SAP