-1
嗨我試圖在表中創建一個涉及比較日期的標誌。我需要能夠說出結束日期是否大於開始日期但是低於開始日期的11月30日,然後將其標記爲Y,如果否則爲N.SQL Server創建日期大於一個日期的標誌
我在SQL Server 2014上。任何人都可以幫助我嗎?
感謝
嗨我試圖在表中創建一個涉及比較日期的標誌。我需要能夠說出結束日期是否大於開始日期但是低於開始日期的11月30日,然後將其標記爲Y,如果否則爲N.SQL Server創建日期大於一個日期的標誌
我在SQL Server 2014上。任何人都可以幫助我嗎?
感謝
您可以使用一個case語句這類似於我在下面,我也包括了查詢的結果。
CREATE TABLE #Graduates
(
ID INT IDENTITY(1,1),
FullName VARCHAR(1000),
StartDate DATE,
EndDate DATE,
CommencementDate DATE NULL
)
INSERT INTO #Graduates
(
FullName,
StartDate,
EndDate,
CommencementDate
)
SELECT
'Curly',
'8/26/2000',
'06/12/2004',
'06/5/2004'
UNION
SELECT
'Doug',
'8/23/2002',
'06/2/2006',
'06/12/2006'
UNION
SELECT
'Larry',
'8/23/2012',
'12/2/2016',
'6/4/2016'
UNION
SELECT
'Moe',
'8/23/2012',
'12/2/2016',
NULL
SELECT
*,
CASE WHEN EndDate > CommencementDate AND EndDate <= '11/30/' + CONVERT(VARCHAR(4),Year(CommencementDate)) THEN 'Y'
ELSE 'N' END AS Flag
FROM #Graduates
DROP TABLE #Graduates
/*結果
ID FullName StartDate EndDate CommencementDate Flag
1 Curly 2000-08-26 2004-06-12 2004-06-05 Y
2 Doug 2002-08-23 2006-06-02 2006-06-12 N
3 Larry 2012-08-23 2016-12-02 2016-06-04 N
4 Moe 2012-08-23 2016-12-02 NULL N
*/
你是一個天才,謝謝你有精美地工作 –
什麼是'生效日期'?添加更多信息 –
當然,我們可以提供幫助。你有什麼嘗試?如果你想要實際的代碼幫助,你需要提供一些細節,比如列名,數據類型。 FWIW,使用標誌是處理數據的一種非常陳舊的方式。 –
這意味着項目在特定日期@JaydipJ開始。 –