我的表中有两列,一列包含数字,另一列应该有一些从这些数字生成的字符串,如:
ID Serial
1 SN00001
2 SN00002
127 SN00127
但是我无法确定每个序列号是否正确。所以我想通过以下方式搜索任何可能的错误:
SELECT * FROM MyTable WHERE ID <> Serial
当然我不能只写ID <> Serial
,我想我应该使用一些子串选择,类型转换等等,但这对我来说都是新的,我可以使用一些帮助。提前谢谢!
答案 0 :(得分:5)
尝试:
SELECT * from MyTable WHERE ID <> RIGHT(Serial, LEN(ID))
答案 1 :(得分:1)
SELECT *
from MyTable
WHERE ID <> CAST(REPLACE(Serial, 'SN','') AS INT)