我的日期为29/07/2017
。我有月计10
。
如何显示日期和月份之间的选择差异?
select date-month from dual; // this shows days difference.
我需要显示月份差异。
答案 0 :(得分:2)
假设您使用的是SQL Server,则需要从日期中提取Month
:
SELECT MONTH(datefield) as Month
考虑你的例子:
SELECT MONTH('29/07/2017') as DateMonth
在此之后,您可以使用MonthCount
减去上述内容。我想你可以做其余的事情
由于您无法直接减去我认为属于Date
类型的INT
和月份数,您必须使用上述方法。
答案 1 :(得分:0)
这里有两个SQL函数:
<强> DATEPART()强> 年()和 MONTH()。
谢谢, NS009
答案 2 :(得分:0)
假设您使用的是Oracle并且日期存储为日期,您可以使用add_months()
:
select add_months(datecol, -10)
在许多其他数据库(以及更新版本的Oracle)中,您可以使用间隔:
select datecol - interval '10' month
如果值是字符串,则需要将其转换为日期。