2012-10-24 86 views
0

我在需要比較兩個表對Projectnumber的情況下。兩個表都具有字段ProjectNumber,但其中一個具有數據類型INT,另一個具有VARCHAR(45)。所以,當我嘗試運行下面的查詢就會導致一些未匹配的記錄也Mysql字符串 - Int比較

Select prj.Projectnumber,ps.ProjectNumber as 'ProjectNumber2' 
from projectlistsearch ps 
inner join project prj on ps.ProjectNumber= prj.ProjectNumber 

這個結果一些正確的記錄,但也造成不良這樣

ProjectNumber  ProjectNumber2 
8     08-809076 
11    11-437881 
11    11-505934 
2007    2007-45750 
2011    2011-0A76 

我試圖型鑄造以及但是沒有工作。

我該如何克服這種情況才能獲得完全匹配的記錄?

感謝

+0

是MySQL還是MS SQL Server?你標記了兩個... – ppeterka

+0

它是MySQL .... –

回答

0

我建議到INT轉換爲VARCHAR和比較這兩個,因爲例如轉換VARCHARINT當文本以十進制數開始時,只有可解析的前綴部分將被轉換爲int:

輸入:

'08-809076' 

可解析的前綴:

08 

轉換爲INT

8 

另一種方式圓,VARCHAR'8'是針對'08-809076'這將不匹配比較。

+0

絕對正確......謝謝 –