使用 SORT 从日期中减去天数
Posted
技术标签:
【中文标题】使用 SORT 从日期中减去天数【英文标题】:Subtract days from date with SORT 【发布时间】:2016-02-19 05:32:41 【问题描述】:我想使用 SyncSORT 从给定的输入日期中减去一天?输入日期为YYYYMMDD
格式。
前:
Input date: 20111031 (Format: YYYYMMDD)
Output date after minus 1 day: 20111030 (Format: YYYYMMDD).
【问题讨论】:
【参考方案1】:这适用于 DFSORT。它不适用于最高 1.4.x 的 SyncSORT。它可以与 SyncSORT(Mainframe Express,或 MFX)2.x 一起工作(让我们知道),甚至可以在没有记录的情况下工作。或者不。
SORT FIELDS=COPY
INREC OVERLAY=(1:1,8,Y4T,SUBDAYS,+1,TOGREG=Y4T)
也许对你有帮助。
【讨论】:
【参考方案2】:使用 SyncSORT 的日期算法与使用 DFSORT 的有很大不同(至少到 1.4.x,谁知道以后的版本?)
这表示,“将结果放入当前记录的第一列,位置为 8,长度为 8,格式为四位数的年份,后跟两位数的月份和两位数的日期,添加使用函数 DATEADD 加减一个单位(即减去),这些单位是天。结果将与源格式相同。
SORT FIELDS=COPY
INREC OVERLAY=(1:DATEADD=(1,8,DT=(4MD),-1,DAY))
可以表示多种输入格式,并且有多种描述单位的选项(根据输入的格式有效)。输入格式可以用分隔符来描述,这些将保留在输出中。
【讨论】:
以上是关于使用 SORT 从日期中减去天数的主要内容,如果未能解决你的问题,请参考以下文章