仅将日期时间转换为月份 - T-SQL

时间:2014-05-06 08:49:40

标签: sql sql-server tsql datetime

我想将dateTime值转换为Month-Year(注意它们之间的( - ))。

我希望他们像2014年1月,2014年2月,2014年3月,2014年4月。

我试过了

SELECT convert(varchar(7), getdate(), 126) 
SELECT right(convert(varchar, getdate(), 106), 8) 

但第一行给了我2014-05(我需要它像2014年5月),而第二行给了2014年5月(它缺少了 - ,如2014年5月)

5 个答案:

答案 0 :(得分:4)

你快到了那里:

SELECT replace(right(convert(varchar, getdate(), 106), 8), ' ', '-')

答案 1 :(得分:1)

写为:

SELECT REPLACE(RIGHT(CONVERT(VARCHAR(11),
                     GETDATE(), 106), 8),
                     ' ', '-') AS [Mon-YYYY]

答案 2 :(得分:1)

我认为转换我的不是正确的做法。 试试这个:

select substring(DATENAME(M,GETDATE()),1,3)+'-'+DATENAME(YYYY,GETDATE())

答案 3 :(得分:0)

SELECT 
  CONVERT(CHAR(4), getdate(), 100) +'-'+ CONVERT(CHAR(4),  getdate(), 120) 

答案 4 :(得分:0)

SELECT  CONVERT(CHAR(4), GETDATE(), 100) +'-'+ CONVERT(CHAR(4), GETDATE(), 120)