将 MonthName-Year 转换为 Year-MonthNumber

Convert MonthName-Year to Year-MonthNumber

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

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

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

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

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

你也可以试试这个。

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

Live Demo