查找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不适合此类型的查询,尽管它是可能的。您需要指出您正在使用的数据库。