使用Microsoft SQL 2008.我有兩個表,我想從當前日期到當月的第一天(或同一個月內)選擇, 。假設今天的日期是05/09/2012,日期列是'datecolumn'。從下表中我應該只從table1獲得行集6,7,從表2獲得行集9,2,因爲這些日期與05/09/2012在同一個月內。從當天到當月的第一天的兩個表中選擇日期範圍
table1
4 02/01/2012
5 01/02/2011
6 05/01/2012
7 05/20/2012
table2
8 02/01/2012
9 05/14/2012
3 01/02/2011
2 05/18/2012
我試過,但它沒有工作:
DECLARE @daterange
SET @daterange = (DATEPART(MONTH,GETDATE()) + '/' + DATEPART(YEAR,GETDATE()))
SELECT blah from table where (DATEPART(MONTH,datecolumn) + '/' + DATEPART(YEAR,datecolumn)) = @daterange
如果在table2上有第10行,日期爲5/15/2012 。輸出是什麼? –
事實上,如果是這種情況(匹配當月的所有記錄),則不需要在標題中指示範圍 –
該表格僅會生成另一個存儲過程運行當天的日期。不會有未來的日子。對不起,如果我困惑任何人。我試圖確保返回的行數在當月的範圍內,並且不超過查詢執行當天的第一個月或最後一個月。 – Patriotec