2012-04-11 53 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