創建日期範圍下面的查詢將第Time_Stamp
列的最大日期作爲從Survey
開始日期。爲EndDate添加90天。然後通過向原始EndDate添加更多內容,以90天的間隔創建2個更多範圍。從時間戳
我試圖讓StartDate落入Jan1st,April1st,July1st或Oct1的4個桶內。如果Max Time_Stamp在這些日期之前1,那麼這將是我的範圍的第一個StartDate ...因此,對於我下面的示例,最大Time_Stamp是6月4日,所以StartDate需要7月1日。這是可以在SQL服務器內?
TIME_STAMP爲Hospital1
Time_Stamp
-----------
2014-06-04 16:01:14.000
2014-06-04 15:55:33.000
2014-06-04 15:45:05.000
2014-06-04 15:36:15.000
2014-06-04 15:00:34.000
2014-06-04 14:35:24.000
2014-06-04 14:04:50.000
2014-06-04 13:46:55.000
2014-06-04 13:23:57.000
2014-06-04 11:27:51.000
電流輸出:
StartDate EndDate
----------- -----------
Jun 4 2014 Sep 2 2014
Sep 3 2014 Dec 2 2014
Dec 3 2014 Mar 3 2015
查詢
WITH Start AS
(
SELECT
MAX(Time_Stamp) as StartDate,
DATEADD(day, 90, MAX(Time_Stamp)) as EndDate
FROM Survey
WHERE MainHospital = 'Hospital1'
),
Results AS
(
SELECT StartDate, EndDate from Start
UNION
SELECT DATEADD(DAY, 1, EndDate), DATEADD(day, 91, EndDate) FROM Start
UNION
SELECT DATEADD(DAY, 92, EndDate), DATEADD(day, 182, EndDate) FROM Start
)
SELECT LEFT(StartDate,11) AS StartDate, LEFT(EndDate,11) AS EndDate FROM Results
只是一個更新,這給了我什麼,我需要爲第一起始日期...
--Return first day of next quarter
SELECT DATEADD(qq, DATEDIFF(qq, 0, MAX(Time_Stamp)) + 1, 0)
FROM Survey
WHERE MainHospital = 'Hospital1'
可能包括這樣的事'DATENAME(區,CAST(CONVERT(VARCHAR(8),TIME_STAMP) AS DATETIME))' – user3749447