Функция MONTHS_BETWEEN не распознается - PullRequest
2 голосов
/ 04 ноября 2011

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 ]

4 голосов
/ 04 ноября 2011

В SQL Server 2008 используйте DATEDIFF():

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

Я думаю, MONTHS_BETWEEN - это оракул.

2 голосов
/ 04 ноября 2011

MONTHS_BETWEEN зависит от Oracle.Эквивалентом функции Oracle MONTHS_BETWEEN в SQL Server является функция DATEDIFF.Функция DATEDIFF возвращает количество границ даты и времени, пересекаемых между двумя указанными датами, и принимает 3 аргумента:

DATEDIFF ( datepart, startdate, enddate )

2 голосов
/ 04 ноября 2011

никогда не слышал о month_between в TSQL.

Я обычно так и делаю (используя даты, которые вы указали в своем коде):

SELECT DATEDIFF(month, '23-8-1991', '12-9-1992')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...