查找SQL中两个字符之间的差异
我有一个有两列的表查找SQL中两个字符之间的差异,sql,string,difference,word,letter,Sql,String,Difference,Word,Letter,我有一个有两列的表 column1 column2 abcd abdc abcr dfgh cvge cbge 我想知道sql查询以获得第三列,结果以这种方式显示两个字段之间的差异 column1 column2 calculated field abcd abdc 2 abcr dfgh 0 cvge cbge 3 如果字段始终为四个字符,则可以使用大小写表达式。是这样的: sel
column1 column2
abcd abdc
abcr dfgh
cvge cbge
我想知道sql查询以获得第三列,结果以这种方式显示两个字段之间的差异
column1 column2 calculated field
abcd abdc 2
abcr dfgh 0
cvge cbge 3
如果字段始终为四个字符,则可以使用
大小写
表达式。是这样的:
select ( (case when substr(field1, 1, 1) = substr(field2, 1, 1) then 1 else 0 end) +
(case when substr(field1, 2, 1) = substr(field2, 2, 1) then 1 else 0 end) +
(case when substr(field1, 3, 1) = substr(field2, 3, 1) then 1 else 0 end) +
(case when substr(field1, 4, 1) = substr(field2, 4, 1) then 1 else 0 end)
) as calculated
请注意,所有数据库都支持
substr()
的功能,但在某些数据库中,该功能可能具有不同的名称。SQL不适合此类型的查询,尽管它是可能的。您需要指出您正在使用的数据库。