2011-11-04 102 views
2

的Microsoft SQL Server 2008MONTHS_BETWEEN功能无法识别

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

帮助

+0

它显示MONTHS_BETWEEN是不可识别的功能。 – Dinesh

+3

这是一个Oracle函数,而不是SQL Server。 –

回答

4

在SQL Server 2008中,使用DATEDIFF()

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

我觉得MONTHS_BETWEEN是甲骨文。

2

从未听说过TSQL中的months_between。

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

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

MONTHS_BETWEEN是Oracle特有的。相当于Oracle的MONTHS_BETWEEN函数在SQL Server中是DATEDIFF函数。的DATEDIFF函数返回两个指定日期之间交叉的日期和时间边界数,它需要3个参数:

DATEDIFF (datepart, startdate, enddate)