找出 SQL 中两个字符之间的差异
Find difference between two characters in SQL
我有一个有 2 列的 table
column1 column2
abcd abdc
abcr dfgh
cvge cbge
我想知道 sql 查询以获得第三列,结果以这种方式显示两个字段之间的差异
column1 column2 calculated field
abcd abdc 2
abcr dfgh 0
cvge cbge 3
如果字段总是四个字符,您可以使用 case
表达式。它是这样的:
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()
的功能,但在某些数据库中,该功能可能具有不同的名称。
我有一个有 2 列的 table
column1 column2
abcd abdc
abcr dfgh
cvge cbge
我想知道 sql 查询以获得第三列,结果以这种方式显示两个字段之间的差异
column1 column2 calculated field
abcd abdc 2
abcr dfgh 0
cvge cbge 3
如果字段总是四个字符,您可以使用 case
表达式。它是这样的:
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()
的功能,但在某些数据库中,该功能可能具有不同的名称。