使用时区将VARCHAR转换为DATETIME时出错

时间:2015-09-02 10:10:37

标签: sql sql-server

我正在尝试将此字符串'2015-07-27T02:06:17 + 0000'转换为使用以下日期:

SET @DATE = CONVERT(DATETIME, @CreatedDate, 127)

@DATE声明为DATETIME@CreatedDate声明为VARCHAR(50)

但是我收到了这个错误:

  

“从字符串转换日期和/或时间时转换失败。”

3 个答案:

答案 0 :(得分:0)

尝试

Cast(@CreatedDate as datetime)

答案 1 :(得分:0)

这个怎么样

declare @v varchar(10)
set @v=cast(@CreatedDate as varchar) 
SET @DATE = CONVERT(DATETIME, @v, 127)

答案 2 :(得分:0)

通过删除时区(因为我不需要它)来修复此问题。我是使用LEFT

完成的
SET @DATE = CONVERT(DATETIME, LEFT(@CreatedDate, 19), 126)

这有效地切断了时区部分,这意味着我可以使用126日期时间样式。