我有以下程序:
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 子句中看到的那样。
为什么我会收到此错误?
非常感谢 !