【问题标题】:oracle sql date format -1 monthoracle sql日期格式-1个月
【发布时间】:2017-02-05 09:14:57
【问题描述】:

我希望 DEP_DATE 与之前 1 个月的 PERIOD_TO 匹配,使用 mm-yy 匹配(日期不同)

示例 DEP_DATE = JUL-16 以匹配 Period_to = JUN-16

在我的 Where 子句中... 和 to_char(itny.DEP_DATE, 'mm-yy') = to_char(xch.PERIOD_TO,'mm-yy')-1

我可以匹配确切的月份-年份,但它不喜欢 period_to 末尾的 -1 来获取前一个月。

我尝试了各种 to_date,但没有任何乐趣。

谢谢大家。

【问题讨论】:

    标签: sql oracle date format


    【解决方案1】:


    您好,
    您可以使用以下逻辑,

    (trunc(itny.DEP_DATEe,'mm'),-1) 
    

    mm -1 派生出你上个月。将此语法应用于您的要求。需要将格式转换为日期,只需将日期值作为默认值即可

    【讨论】:

      【解决方案2】:

      一种方法是在格式化为字符串之前减去月份:

      to_char(itny.DEP_DATE, 'mm-yy') = to_char(add_months(xch.PERIOD_TO, -1), 'mm-yy')
      

      另一种方法是只使用日期比较:

      itny.DEP_DATE >= add_months(trunc(xch.PERIOD_TO, 'MM'), -1) and
      itny.DEP_DATE < trunc(xch.PERIOD_TO, 'MM')
      

      【讨论】:

      • 谢谢你们,我使用了这个 ... to_char(add_months(xch.PERIOD_TO, +1), 'mm-yy') 并且效果很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-21
      • 1970-01-01
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多