oracle sql日期格式为-1个月

时间:2016-09-27 16:22:40

标签: sql oracle date format

我希望DEP_DATE与PERIOD_TO匹配1个月,使用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

我可以匹配完整的月份,但它不喜欢在句号结束时的-1来获得前一个月。

我尝试了各种各样的to_date但没有快乐。

谢谢大家。

2 个答案:

答案 0 :(得分: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')

答案 1 :(得分:2)

嗨,你可以使用以下逻辑,

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

mm -1来自上个月。将此语法应用于您的要求。需要将您的格式转换为日期,只需将日值视为默认值