TSQL:来自字符串的日期时间错误
有一些帖子与此相关,但我对TSQL是如此陌生,以至于我无法理解它们,所以请原谅 我的程序是:TSQL:来自字符串的日期时间错误,sql,string,tsql,sql-server-2005,datetime,Sql,String,Tsql,Sql Server 2005,Datetime,有一些帖子与此相关,但我对TSQL是如此陌生,以至于我无法理解它们,所以请原谅 我的程序是: BEGIN TRY INSERT INTO dbo.myprocedure( Mydate ) VALUES( CONVERT(DATETIME, @mydate, 102) ) 如果我这样执行: EXEC mydbo.dbo.myprocedure @mydate = 'May 8 2012 9:21AM' 我得到这
BEGIN TRY
INSERT INTO dbo.myprocedure(
Mydate
)
VALUES(
CONVERT(DATETIME, @mydate, 102)
)
如果我这样执行:
EXEC mydbo.dbo.myprocedure @mydate = 'May 8 2012 9:21AM'
我得到这个错误:
从字符串转换日期时间时转换失败
我怎样才能解决这个问题
非常感谢,也许是这样的:
EXEC mydbo.dbo.myprocedure @mydate = '2012/05/08 09:21:00'
将CONVERT(DATETIME,@mydate,102)
更改为CONVERT(DATETIME,@mydate,100)
或者只是CONVERT(DATETIME,@mydate)
提及
在MSDN上,如果您查看,您将看到格式102是ANSI格式,或yyyy.mm.dd
。因此,传递一个类似于2012.05.08
的日期应该是可行的
看起来2012.05.08 9:41
和2012.05.08 9:41AM
也可以,但这超出了文档格式