我有以下程序:
ALTER PROCEDURE [dbo].[myProcedute]
@mydate VARCHAR(8000) = NULL
IF @mydate = ''
BEGIN
SET @mydate = NULL
END
ELSE
BEGIN
SET @mydate = CONVERT(DATETIME, @mydate, 103) -- dd/mm/yy
END
INSERT INTO dbo.myTable(theDate) VALUES(@mydate)
我像这样执行它:
EXEC [dbo].[myProcedure] '02/02/2012'
执行后出现此错误:从字符串转换日期时间时转换失败。
我从我的 vb6 代码执行它,日期可能会有所不同。这次是 '02/02/2012' 但下一次可能是 ''(空)。
当它作为 '' 出现时,我需要它插入一个 NULL,正如您在 IF 子句中看到的那样。
为什么我会收到此错误?
非常感谢 !