TSQL日期转换麻烦

时间:2014-04-30 19:08:41

标签: sql-server tsql

我从第三方获得的表格中有数据。列中的日期采用我以前未见过的格式。

以下是日期示例:2013MO01此日期为2013年1月,其中MO表示第1个月

有关从数据库中的该字段获取日期的任何简单建议吗?

1 个答案:

答案 0 :(得分:4)

正如@chrono所提到的,您可以使用SUBSTRING,例如:

DECLARE @t NVARCHAR(100) = '2013MO01'
SELECT CAST(SUBSTRING(@t, 1, 4) + '-' + SUBSTRING(@t, 7, 2) + '-01' AS DATETIME)

或者只是替换 MO 字符串:

SELECT CAST(REPLACE(@t, 'MO', '-') + '-01' AS DATETIME)