2012-05-08 18 views
0

有一些帖子与此有关,但我对TSQL很新,我无法理解它们,所以请原谅我。TSQL:日期时间从字符串错误

我的程序有:

BEGIN TRY 

     INSERT INTO dbo.myprocedure(
     Mydate 

    ) 
    VALUES(
    CONVERT(DATETIME, @mydate, 102) 
) 

如果我执行这种方式:

EXEC mydbo.dbo.myprocedure @mydate = 'May 8 2012 9:21AM' 

我得到这个错误:从字符串转换日期时间时 转换失败。

我该如何解决这个问题?

万分感谢

回答

1

如果你看看documentation for CONVERT,你会发现格式102是ANSI格式,或yyyy.mm.dd。所以传递一个像2012.05.08这样的日期应该可以工作。

它看起来像2012.05.08 9:412012.05.08 9:41AM也可以工作,但这是超出记录的格式。

+0

非常感谢,它工作 – user523129

0

也许是这样的:

EXEC mydbo.dbo.myprocedure @mydate = '2012/05/08 09:21:00'