2016-08-29 103 views
-3

我有一個數據類型爲int的字段「Ticket_Number」的表。我需要在一個外部連接中將這個字段連接到另一個具有數據類型「varchar(50)」的日誌文件表中的「KeyData」字段,並且有時候其中包含文本的數據,但是也有票號我需要連接到表。我試過在字段上使用「convert」函數,甚至在已經拉動「類似數字」的數據的子視圖上。但是,即使我嘗試連接到僅拉動「類數字」數據的視圖,我仍然會遇到轉換失敗錯誤。我該怎麼辦?在視圖中更改數據類型並不真正改變?

+4

您應該首先分享您的視圖定義,表格結構,樣本數據,您收到的錯誤以及您的預期結果。 – Siyual

+0

以下幫助我解決了這個問題。 http://stackoverflow.com/questions/21984110/conversion-failed-when-converting-the-varchar-value-simple-to-data-type-in​​t – Bouje

+0

你可以用另一種方式'ON(KeyData = CONVERT (varchar(50),Ticket_Number))' – jac

回答

0

您正在使用連接條件的VARCHAR字段中可能有字符值。 如果您使用SQL Server 2012版本,請使用TRYCONVERT而不是像下面那樣的CONVERT函數。

On Ticket_Number= TRYCONVERT (int,KeyData) 

或者,您也可以通過在下面的where子句中添加ISNUMERIC()函數來消除這些非數字值。

 Where ISNUMERIC (KeyData)=1