将字符串“ 2018年6月1日星期五”转换为日期

时间:2018-12-22 14:56:27

标签: tsql

我在数据库中有一列来自导入文件的文件,格式为2018年6月1日星期五,并尝试格式化为从varchar到date的有效日期转换。

我尝试过转换并没有成功

SELECT CAST([Course date] as DATETIME)
FROM [dbo].[Test]

SELECT CONVERT(datetime, [Course date], 103)
FROM [dbo].[Test]

我希望转换为英国103型dd/mm/yyyy

1 个答案:

答案 0 :(得分:2)

TRY_CONVERT似乎可以处理您的日期字符串。请注意,日期名称是多余的,不需要确切地确定日期是什么。因此,我们可以使用基本字符串函数将其删除。

WITH yourTable AS (
    SELECT 'Friday June 1, 2018' AS datecol
)

SELECT
    datecol AS input,
    TRY_CONVERT(datetime, STUFF(datecol, 1, CHARINDEX(' ', datecol), '')) AS output
FROM yourTable;

enter image description here

Demo