比较SQL中的int和varchar列

时间:2013-02-20 12:09:21

标签: sql database compare

我的表中有两列,一列包含数字,另一列应该有一些从这些数字生成的字符串,如:

ID     Serial
1      SN00001
2      SN00002
127    SN00127

但是我无法确定每个序列号是否正确。所以我想通过以下方式搜索任何可能的错误:

SELECT * FROM MyTable WHERE ID <> Serial

当然我不能只写ID <> Serial,我想我应该使用一些子串选择,类型转换等等,但这对我来说都是新的,我可以使用一些帮助。提前谢谢!

2 个答案:

答案 0 :(得分:5)

尝试:

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

答案 1 :(得分:1)

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