2012-04-11 52 views
1

我有下面設置一個簡單的數據:日期部分功能

Date 
01/01/2010 
01/02/2010 
01/03/2010 

運行下面的查詢得出:

SELECT 
    DATEPART (MONTH, Date) AS MONTH 
FROM MYTABLE 

OUTPUT:

MONTH 
1 

我想輸出格式如下mm/dd/yyyy

MONTH 
01/01/2010 

有人可以看看它嗎?

非常感謝!

回答

2

如果要截斷日期到一個月,您可以使用:

select dateadd(m, datediff(m, 0, getdate()), 0) 

把你的日期列,而不是GETDATE的()。

+0

它奇妙的作品!謝謝尼古拉馬克 – joe 2012-04-11 14:25:52

1

如果您運行的是最新的SQL Server 2012中,你可以使用datefromparts功能,使「第一月的」日期,就像這樣:

SELECT 
DATEFROMPARTS(YEAR(Date), MONTH(Date), 1) AS FIRST_OF_THE_MONTH 
FROM MYTABLE 
+0

這是一個很棒的新功能 - 但只有在SQL Server ** 2012 **(這不是很多人已經有和使用) – 2012-04-11 14:21:17

+0

@marc_s感謝您的更正 - 我提到,在答案中,雖然我同意在這一點上它可能是無用的。我沒有意識到這個功能是*新*。 – dasblinkenlight 2012-04-11 14:24:36

+1

@ marc_s - 這是正確的。我正在使用SQL Server 2005.所以它給了我錯誤。謝謝Marc_s和Das。 – joe 2012-04-11 14:24:49