Ica*_*rus 0 t-sql sql-server-2008-r2 sql-server-2012 datetime
我正在使用一个 Excel 文件,该文件具有不同格式的日期,但是当我尝试将其转换或将其转换为 SQL DATETIME 时,其中一种格式给我带来了一些痛苦。例如:
Thu Oct 16 13:40:19 2014
,Tue Apr 1 12:20:40 2014
等等。
基本上格式是ddd MM dd HH:mm:ss yyyy
.
我想知道是否有某种日期样式可以让我在一行中进行转换。我可以为此编写一个函数,但我想知道是否有更优雅的解决方案。我谷歌搜索没有运气。
这有效:
DECLARE @mycol VARCHAR(30) = 'Tue Apr 1 12:20:40 2014'
SELECT CAST(SUBSTRING(@mycol, PATINDEX('% %', @mycol), 100) AS DATETIME)
Run Code Online (Sandbox Code Playgroud)
开头的日期名称是它无法直接转换的原因。
无需声明变量,您只需替换@mycol
上面脚本中包含日期的列即可。