将datetime转换为数字和年份的月份

时间:2015-05-11 08:33:06

标签: sql sql-server sql-server-2008

我有一个日期时间,例如2014-04-24 00:28:53.897并希望在选择查询中将其转换为月份数和年份 - 2014年。

7 个答案:

答案 0 :(得分:6)

试试这个

SELECT FORMAT(GETDATE(),'MM yyyy')

将getdate替换为datetime列

希望对你有所帮助。

答案 1 :(得分:3)

使用DATEPART

SELECT CONCAT(DATEPART(mm,datefield),' ',DATEPART(yyyy,datefield)) AS monthyear
FROM yourtable

SQL FIDDLE:http://sqlfiddle.com/#!6/9c896/7/0

答案 2 :(得分:2)

您可以使用以下内容:(将日期/日期时间列替换为GETDATE())

SELECT CAST(DATEPART(MONTH,GETDATE()) AS VARCHAR(2)) + ' ' + CAST(DATEPART(YEAR,GETDATE()) AS VARCHAR(4))

答案 3 :(得分:2)

您可以在SQL Server 2012及更高版本(或提供CONCAT的其他人)上使用以下内容:

SELECT CONCAT(DATEPART(mm,dateField),' ',DATEPART(yyyy,dateField))
AS MONTH_YEAR
FROM TABLENAME;

答案 4 :(得分:2)

设置为格式。 声明@d datetime =' 2014-04-24 00:28:53.897' 选择格式化(@d,' MM yyyy')

For more information, visit here

答案 5 :(得分:2)

/* sql code */
--if you have datetime as text use this to convert to date
--select cast('2014-04-24 00:28:53.897' as date)
select convert(varchar(2), month(cast('2014-04-24 00:28:53.897' as date))) + ' ' + convert(char(4), year(cast('2014-04-24 00:28:53.897' as date)))

--if you have datetime field already use this
select convert(varchar(2), month(getdate())) + ' ' + convert(char(4), year(getdate())) 

答案 6 :(得分:1)

使用DATEPART为此

SELECT Convert(VARCHAR(10),DATEPART(mm,yourfield),111) + '  ' + 
Convert(VARCHAR(10),DATEPART(yyyy,yourfield),111) AS outputmonthyear
FROM yourtableName

http://sqlfiddle.com/#!6/fa887/7

DATEPART定义和用法

DATEPART()函数用于返回日期/时间的单个部分,例如年,月,日,小时,分钟等。

语法DATEPART(datepart,date)其中date是有效的日期表达式。

了解更多详情,请访问

http://www.w3schools.com/sql/func_datepart.asp