一种在两个不同的表中比较 SQL 位和 char 的方法

A way to compare SQL bit to char in two different tables

我有两个 tables,table A 的 A 列采用位值,Table B 的 B 列采用 Char(1) 值,这些值是'C' 或 'D' 我希望它们分别匹配 0 或 1 的位有没有办法可以像这样比较这两个?

谢谢!

您可以列举组合。假设您想要匹配,则使用以下条件:

(ta.a = 0 and tb.b = 'C') or (ta.a = 1 and tb.b = 'D')

或者,使用 case 表达式:

ta.a = case tb.b when 'C' then 0 when 'D' then 1 end