SQL - 获取相对于日期列的整数

时间:2016-10-17 13:33:32

标签: sql oracle date

我有一个名为" Expiry_Date"的日期列。我被要求做的是根据相对于当前的月份检索整数,例如:

当前日期:2016年5月7日

MyTable
----------
1) 12th May
2) 31st May
3) 2nd June
4) 11 June
5) 19 June
6) 28th July
7) 1st August

结果将是:

1) 1
2) 1
3) 2
4) 2
5) 2
6) 3
7) 4

因此,它获得相对于给定日期(或期间)的当前月份数。这也必须跨越多年,所以" 2017年1月1日"将是" 9"等

非常感谢

1 个答案:

答案 0 :(得分:1)

也许函数MONTHS_BETWEEN解决了。

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions089.htm

类似的东西:

round(months_between(expiry_date, date '2016-05-07') + 1)