我在数据库中有一列来自导入文件的文件,格式为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
答案 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;