【问题标题】:Subtract days from date with SORT使用 SORT 从日期中减去天数
【发布时间】:2016-02-19 05:32:41
【问题描述】:

我想使用 SyncSORT 从给定的输入日期中减去一天?输入日期为YYYYMMDD格式。

Input date: 20111031 (Format: YYYYMMDD)
Output date after minus 1 day: 20111030 (Format: YYYYMMDD). 

【问题讨论】:

    标签: mainframe jcl syncsort


    【解决方案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))
      

      可以表示多种输入格式,并且有多种描述单位的选项(根据输入的格式有效)。输入格式可以用分隔符来描述,这些将保留在输出中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        • 2011-11-12
        • 1970-01-01
        • 2013-02-03
        • 1970-01-01
        • 1970-01-01
        • 2016-06-16
        相关资源
        最近更新 更多