2013-02-20 158 views
2

我有我的表中的兩列,一個包含數字,而其它的從這些數字等產生一些字符串:比較int和VARCHAR列在SQL

ID  Serial 
1  SN00001 
2  SN00002 
127 SN00127 

但是我不能肯定,如果每個序列號都是正確的。所以我要尋找任何可能出現的錯誤的東西,如:

SELECT * FROM MyTable WHERE ID <> Serial 

當然我不能只寫ID <> Serial,我想我應該用一些子選擇,型鑄造等,但它是我的全部新我可以使用一些幫助。提前致謝!

+0

哪些DBMS您使用的?甲骨文? Postgres的? – 2013-02-20 13:00:32

回答

1
SELECT * 
from MyTable 
WHERE ID <> CAST(REPLACE(Serial, 'SN','') AS INT) 
6

嘗試:

SELECT * from MyTable WHERE ID <> RIGHT(Serial, LEN(ID))