我有一个日期字段,数据格式:1/20/201405:52:05.000000
现在我需要设置一个WHERE条件,这样我就可以从事实表中获得最近18个月的数据(不包括当前月份)。例如,如果我在2月份运行表(日期字段有2月份数据,我不需要这个),我应该从2015年1月和18个月向后获得数据。
对此的查询是什么?
发布于 2015-02-05 06:11:11
使用TRUNC求出当月的第一天,并从中减去18个月:
WHERE ts_col BETWEEN ADD_MONTHS(TRUNC(CURRENT_DATE, 'mon'), -18)
AND TRUNC(CURRENT_DATE, 'mon') -1当您比较时间戳和日期时,它会自动转换为日期。
https://stackoverflow.com/questions/28331878
复制相似问题