Получение номера дня в квартале - PullRequest
2 голосов
/ 26 января 2012

Я пытаюсь определить, в какой день квартала вы указываете текущую дату.

Например, если я дам 01/25/2012, то результат должен быть 25. Так как это 25-й день квартала.

Точно так же, если я даю 02/01/2012, он должен дать 32 в качестве вывода.

Я могу получить первый день квартала, но не могу определить, какой день в этом квартале.

Я сделал что-то вроде этого:

 SELECT FirstDayOfQuarter  = CONVERT(DATE, dateadd(qq, datediff(qq,0, GETDATE()),0))

Кто-нибудь может мне помочь?

Ответы [ 3 ]

9 голосов
/ 26 января 2012

Найдите первый день квартала: DATEADD (q, DATEDIFF (q, 0, @TestDate), 0)

Затем найдите разницу в днях с указанной датой.

DECLARE @TestDate DateTime

SET @TestDate = 'January 25, 2012'


SELECT DATEDIFF(dd, DATEADD(q, DATEDIFF(q, 0, @TestDate),0), @TestDate) +1
2 голосов
/ 26 января 2012

Вы почти у цели.

SELECT DateDiff(dd,CONVERT(DATE, 
       dateadd(qq, datediff(qq,0, GETDATE()),0)),getDate())+1
1 голос
/ 28 сентября 2016

Попробуйте, чтобы получить количество дней в ТЕКУЩЕМ КВАРТАЛЕ;

Выберите дату (dd, dateadd (qq, datediff (qq, 0, getdate ()), 0), dateadd (qq, datediff (qq, 0, getdate ()) + 1,0))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...