2016-03-07 21 views
1

當我運行該SQL語句時爲int:SQL服務器以爲我想轉換爲varchar使用連字符

SELECT commentor, comment, cdate, ddate 
FROM delivery_comments 
WHERE Jobno = '93388-01' and ddate = '2016-03-11' 
ORDER BY cdate 

我得到這個錯誤:

Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value '93388-01' to data type int.

我並不想將其轉換爲int。我希望它保持varchar。我該怎麼做呢?

+1

delivery_comments中的jobNo是什麼數據類型?顯示delivery_comments的表格結構。我的猜測是JobNo是整數,所以系統正試圖做一個隱式投射,它是失敗的。 – xQbert

+0

井蓋。它是「int」。這真讓我感到厭煩。 – user1548989

+0

:P我無法修復,我猜其他地方的JobNo不是int:P – xQbert

回答

0

我完全有@xQbert,你爲什麼與詮釋沿比較VARCHAR類型同意「 - 」(連字符),當其確認INT從來沒有這樣的價值...

你可以做的比較如下所示:

Cast(Jobno As Varchar(20)) = '93388-01' 

仍然沒有得到結果,因爲' - '(連字符)在數據中不存在。

相關問題