У меня есть проблема в подсчете разницы месяца со 2 дня с запросом сервера SQLГраф месяц отличается от даты SQL SERVER
я попытался с помощью DATEDIFF(MONTH, SD, ED)
это, например
SD = '2013-12-10 00:00:00.000'
ED = '2014-12-09 00:00:00.000'
SELECT DATEDIFF(MONTH, SD, ED)
--result : 12 //this correct result
SD = '2013-12-10 00:00:00.000'
ED = '2014-12-10 00:00:00.000'
SELECT DATEDIFF(MONTH, SD, ED)
--result : 12 //this incorrect result, the result that i want is 13
SD = '2013-12-10 00:00:00.000'
ED = '2014-12-15 00:00:00.000'
SELECT DATEDIFF(MONTH, SD, ED)
--result : 12 //this incorrect result, the result that i want is 13
SD = '2013-12-01 00:00:00.000'
ED = '2014-11-30 00:00:00.000'
SELECT DATEDIFF(MONTH, SD, ED)
--result : 11//this incorrect result, the result that i want is 12
есть любое решение для получения правильного результата разницы в месяце 2 даты ?? Может кто-нибудь мне помочь?
Благодаря
Определите свое видение «* правильного результата» для любых двух заданных дат. –
Datediff выглядит неправильно, хотя если вы добавите месяц в ED, а затем вычтите день (или, возможно, наоборот), это может сработать. Вы можете получить более качественные ответы, если будете описывать, что хотите считать. примеры сбивают с толку и недостаточно точны, чтобы дать точный ответ. – Jasen
Возможный дубликат [как получить число в месяцах между двумя датами в SQL Server 2005] (http://stackoverflow.com/questions/2054975/how-to-get-the-number-on-months-between-two -dates-in-sql-server-2005) –