如何在SQL select语句中显示Date - Month?

时间:2017-07-29 16:33:33

标签: sql date

我的日期为29/07/2017。我有月计10

如何显示日期和月份之间的选择差异?

select date-month from dual;  // this shows days difference.

我需要显示月份差异。

3 个答案:

答案 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

如果值是字符串,则需要将其转换为日期。