時從字符串轉換日期時間,我有以下步驟:SQL:插入日期
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子句中看到。
爲什麼我會收到此錯誤?
非常感謝!
爲什麼不將'@ mydate'定義更改爲'DATE'? – Luv
嘗試 如果LTRIM(@mydate)='' –
我建議TO_DATE(LTRIM(@mydate),'DD/MM/YY') –