MONTHS_BETWEEN功能无法识别

时间:2011-11-04 09:43:32

标签: sql-server sql-server-2008

Microsoft SQL Server 2008

select months_between
   (TO_DATE('1992-09-12','yyyy','mm','dd'), TO_DATE('1991-08-23','yyyy','mm','dd') ) "months"
   from sales 

帮助

3 个答案:

答案 0 :(得分:4)

在SQL Server 2008中,使用DATEDIFF()

SELECT DATEDIFF(mm, '23-08-1991', '12-09-1992') as "months"
FROM sales

我认为MONTHS_BETWEEN是神谕。

答案 1 :(得分:2)

在TSQL中从未听说过months_between。

我通常会这样(使用您在代码中提供的日期):

SELECT DATEDIFF(month, '23-8-1991', '12-9-1992')

答案 2 :(得分:2)

MONTHS_BETWEEN是特定于Oracle的。 SQL Server中Oracle的MONTHS_BETWEEN函数的等价物是DATEDIFF函数。 DATEDIFF函数返回两个指定日期之间跨越的日期和时间边界的数量,它需要3个参数:

DATEDIFF ( datepart, startdate, enddate )