看起來是在呼叫該function時沒有傳入對的料型態,
因為您的function是接受varchar字串,
而非第一個欄位的datetime日期,
若要用該function,請先將日期資料轉成varchar試試:
select dbo.FX_Convert_Date(convert(varchar(10),Date_Datetime,111))
from TB_Test
: 測試方法:
: SELECT dbo.FX_Convert_Date(DATE_DATETIME)
: FROM TB_TEST
: 目前處理varchar的日期是OK的
: 但處理datetime型態的資料時會出錯
: 錯誤訊息:
: 訊息 245,層級 16,狀態 1,行 1
: 將 varchar 值 '12 9 20' 轉換成資料類型 int 時,轉換失敗。
: 我不使用func,直接把ELSE CAST xxxx 這段拿來處理datetime資料是OK的
: SELECT CAST(CONVERT(VARCHAR(8),GETDATE(),112) AS INT)
: 因此不曉得問題是出在透過func的關係嗎?
: 想請板上的朋友們幫我debug一下
: 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.66.9