iT邦幫忙

0

將 varchar 值 '--' 轉換成資料類型 int 時,轉換失敗。

請問,我一直出現如下的錯誤

訊息 245,層級 16,狀態 1,行 1
將 varchar 值 '--' 轉換成資料類型 int 時,轉換失敗。


我的語法:
INSERT INTO XXXXX
isnull(cast(Z2.aaa as varchar(4)),'--') run2Low,

1、Z2.aaa裡面是數字
2、run2Low是varchar(4)

我去了解過後,發現可能是我寫的cast語法的問題,但我還是找不到原因是什麼?
可否請教各位高手,幫我解惑,若有問題寫不詳細之處,再麻煩跟我說,我會補充,謝謝!!

klm2242 iT邦研究生 1 級 ‧ 2017-12-19 19:03:05 檢舉
補充一點:剛剛測試出來,同樣的一串select語法,我用以下語法的方式,自動去產生table,就成功將資料匯入,但若使用INSERT INTO XXXXX,就會有轉型的問題??why?
SELECT *
INTO TABLE_NAME
FROM area
小魚 iT邦研究生 5 級 ‧ 2017-12-19 19:31:14 檢舉
請問您自動產生的Table,那個欄位是什麼型態?
另外,你這是MS-SQL嗎?
klm2242 iT邦研究生 1 級 ‧ 2017-12-20 10:36:45 檢舉
對,ms- sql,自動產生的欄位型態為varchar

1 個回答

0
小魚
iT邦研究生 5 級 ‧ 2017-12-20 12:06:22
最佳解答

自動產生的是varchar當然可以塞啊,
但是你原本的欄位格式是int所以不能放文字進去啊...
你要把--放到int的欄位裡面他就跟你報錯誤了啊.

klm2242 iT邦研究生 1 級 ‧ 2017-12-20 16:17:47 檢舉

謝謝!!解決了~~感謝你!!!

小魚 iT邦研究生 5 級 ‧ 2017-12-20 19:13:18 檢舉

套句海綿寶寶的話,
有問有"答"(有設最佳解答),
再問不難。

我要發表回答

立即登入回答