将MonthName-Year转换为Year-MonthNumber

时间:2019-02-26 08:19:20

标签: sql sql-server tsql date sql-server-2008

我在SQL中有一个自定义日期字符串。我需要将日期转换为自定义格式。下面是它的示例。

SQL Input : 'January-2019' (Month Name-Year format)
Output    : '201901'       (Year-Month Number format, Month Number must be two digit)

2 个答案:

答案 0 :(得分:4)

由于您使用的是SQL 2008,因此可以使用CONVERT(DATE, ...) + CONVERT(VARCHAR, ...)

DECLARE @input  AS VARCHAR(20) = 'January-2019'
SELECT CONVERT(VARCHAR(6), CONVERT(DATE, '01-' + @input), 112)

请注意,您需要在字符串前加上01-

答案 1 :(得分:0)

您也可以尝试这个。

DECLARE @input  AS VARCHAR(20) = 'January-2019'
Select Convert(Varchar(6), Cast(Replace(@input, '-', ' 01 ') as DATE), 112)

Live Demo