【问题标题】:Convert MonthName-Year to Year-MonthNumber将月份名称-年转换为年-月数
【发布时间】:2019-07-19 17:36:59
【问题描述】:

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

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

【问题讨论】:

  • 感谢您接受我的回答。

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


【解决方案1】:

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

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

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

【讨论】:

  • @saket 替换 @input 包含诸如 February-2019、December-2018 等值的列的名称
  • 感谢您的评论。
【解决方案2】:

你也可以试试这个。

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

Live Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多