我有一个日期时间,例如2014-04-24 00:28:53.897并希望在选择查询中将其转换为月份数和年份 - 2014年。
答案 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')
答案 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是有效的日期表达式。
了解更多详情,请访问