Sql server 未识别函数之间的月数

Sql server 未识别函数之间的月数,sql-server,sql-server-2008,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 帮助在SQL Server 2008中,使用: 我认为MONTHS\u-BETWEEN是oracle。在TSQL中从未听说过MONTHS\u-BETWEEN 我通常会这样做(使用代码中

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 
帮助在SQL Server 2008中,使用:


我认为
MONTHS\u-BETWEEN
是oracle。

在TSQL中从未听说过MONTHS\u-BETWEEN

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


MONTHS\u介于
之间是Oracle特有的。SQL Server中Oracle的
MONTHS\u interval
函数的等价物是函数。
DATEDIFF
函数返回两个指定日期之间跨越的日期和时间边界的数量,它包含3个参数:


DATEDIFF(datepart、startdate、enddate)

它显示的是月与月之间的时间,这不是一个可识别的函数。它是一个Oracle函数,不是SQL Server函数。
SELECT DATEDIFF(mm, '23-08-1991', '12-09-1992') as "months"
FROM sales
SELECT DATEDIFF(month, '23-8-1991', '12-9-1992')