2014-12-03 231 views
0

我得到的日期为varchar(50) 2006-07-13 00:00:00,并且在使用以下公式将其转换为日期时发生错误cast(2006-07-13 00:00:00 as date)SQLERVER CONVERT VARCHAR日期到日期

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

+0

对不起,我不叫喊 – staq 2014-12-03 13:54:25

+0

...或者,你的手指卡在* shift *上? – christiandev 2014-12-03 13:54:29

+2

这不可能是你从CAST(2006-07-13 00:00:00 AS DATE)'得到的错误。这会给你“00附近的语法错误”,因为你没有引号中的文字。 – 2014-12-03 13:55:50

回答

0

使用try报价:

select CAST('2006-07-13 00:00:00' AS DATE) 

然而,cast()一般是多余的。在SQL Server预计日期的大多数上下文中,字符串'2006-07-13'将被识别为日期(在这种情况下这不起作用有一个神秘的国际化设置)。