Oracle中如何将两列的比较选择为一列

2021-12-19 00:00:00 sql select oracle

我不知道如何在我的 SELECT 查询中添加一列来指示两列是否包含 Oracle 中的相同数据.

I cannot figure out how to add a column to my SELECT query indicating whether two columns contain the same data in Oracle.

我想写一个这样的查询:

I would like to write a query like:

select column1, column2, column1=column2 from table

而且,如果我有这张桌子:

and, if I have this table:

+---------+---------+
| column1 | column2 |
+---------+---------+
| value1  | value1  |
| value2  | value3  |
| value4  | value4  |
+---------+---------+

得到如下结果:

+---------+---------+-----------------+
| column1 | column2 | column1=column2 |
+---------+---------+-----------------+
| value1  | value1  | true            |
| value2  | value3  | false           |
| value4  | value4  | true            |
+---------+---------+-----------------+

执行此操作的正确语法是什么?

What is the correct syntax to do this?

推荐答案

如果您也想考虑空值相等,请尝试以下操作

If you want to consider null values equality too, try the following

select column1, column2, 
   case
      when column1 is NULL and column2 is NULL then 'true'  
      when column1=column2 then 'true' 
      else 'false' 
   end 
from table;

相关文章