时间宏变量使用解析 本章节主要介绍时间宏变量使用解析。 在创建表/文件迁移作业时,CDM支持在源端和目的端的以下参数中配置时间宏变量: 源目录 源端的表名 目的端的写入目录 目的端的表名 Where子句 支持通过宏定义变量表示符“${}”来完成时间类型的宏定义,当前支持两种类型:dateformat和timestamp。 通过时间宏变量+定时执行作业,可以实现数据库增量同步和文件增量同步。 dateformat dateformat支持两种形式的参数: dateformat(format) format表示返回日期的格式,格式定义参考“java.text.SimpleDateFormat.java”中的定义。 例如当前日期为“20171016m09:00:00”,则“yyyyMMdd HH:mm:ss”表示“20171016 09:00:00”。 dateformat(format, dateOffset,dateType) −format表示返回日期的格式。 −dateOffset表示日期的偏移量。 −dateType表示日期的偏移量的类型。 目前dateType支持以下几种类型:SECOND(秒),MINUTE(分钟),HOUR(小时),DAY(天)。 例如当前日期为“20171016m09:00:00”,则: −“dateformat(yyyyMMdd HH:mm:ss, 1, DAY)”表示当前时间的前一天,也就是“20171015 09:00:00”。 −“dateformat(yyyyMMdd HH:mm:ss, 1, HOUR)”表示当前时间的前一小时,也就是“20171016 08:00:00”。 −“dateformat(yyyyMMdd HH:mm:ss, 1, MINUTE)”表示当前时间的前一分钟,也就是“20171016 08:59:00”。 −“dateformat(yyyyMMdd HH:mm:ss, 1, SECOND)”表示当前时间的前一秒,也就是“20171016 08:59:59”。 timestamp timestamp支持两种形式的参数: timestamp() 返回当前时间的时间戳,即从1970年到现在的毫秒数,如1508078516286。 timestamp(dateOffset, dateType) 返回经过时间偏移后的时间戳,“dateOffset”和“dateType”表示日期的偏移量以及偏移量的类型。 例如当前日期为“20171016m09:00:00”,则“timestamp(10,MINUTE)”返回当前时间点10分钟前的时间戳,即“1508115000000”。