当前位置: 首页 > 面试题库 >

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

太叔乐家
2023-03-14
问题内容

我无法弄清楚如何在我的SELECT查询中添加一列,以指示两列在Oracle中是否包含相同的数据。

我想写一个查询,像:

select column1, column2, column1=column2 from table

并且,如果我有此表:

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

得到类似的结果:

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

正确的语法是什么?


问题答案:

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

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


 类似资料:
  • 问题内容: 我需要查询一个表并选择4列的值中的3个。我需要比较第三列和第四列的值,然后选择较大的值。 例如: 我需要退货: 我一直在尝试使用IF / ELSE,但是我似乎无法正确使用语法 问题答案: 在T-SQL中, IF 命令用于程序控制。例如: 在SQL语句中,您需要 CASE 。

  • 问题内容: 可以说我有两个带有SSN变量的表,并且我想显示仅在一个表中的表,而不是两个表中的表。 正确的方法是什么? 问题答案: 这是一种方法: 这适用于大多数数据库,但不适用于MySQL。以下内容几乎可以在任何数据库中工作:

  • 问题内容: 我有两张桌子要赞扬。列之一是CLOB类型。我想做这样的事情: 不幸的是,Oracle无法对Clob执行减号操作。我怎样才能做到这一点? 问题答案: 格式是这样的: 如果dbms_lob.compare(lob1,lob2)= 0,则它们是相同的。 这是一个基于您的示例的示例查询:

  • 问题内容: 我想比较同一张表中的两列。我希望能够返回两列具有相同值的所有行。 我正在寻找类似的东西。 因此,在下面的示例中,我将仅返回第一行: 如果有关系,我正在使用(更具体地讲)。 问题答案: 应该管用。不是吗 如果不是,它们是否具有相同的数据类型和长度?您可能需要转换。 我不了解WebSql,但是我看到一些数据库系统拒绝匹配,即使其中一个是varchar(5)而另一个是varchar(10),

  • 问题内容: 我正在创建许多脚本,有时要检查表是否根据需要进行更新,我即时编写了一些SELECT语句。 在SQL SERVER中,您可以编写如下内容: 出于可见性原因,这很有用,但是在ORACLE中似乎不起作用,我不知道如何实现,除了手动写下所有列名。 您如何在oracle中做到这一点? 我知道我们不应该在生产脚本等中包含这样的查询。在开发中运行脚本时,我只是想即时使用它。在不同的点上,我更感兴趣的

  • 问题内容: 我们有两个可选的NSArrays。目的是检查它们是否相等。我的解决方案是 我觉得这太冗长了。它应该以更简洁和易读的方式实现。有谁有更好的解决方案? 问题答案: 这很简单: 正是您想要的。 为什么行得通? 这是比较可选项的运算符 并给出两个操作数是否为,或者两个操作数均为非nil且未包装的操作数相等。 也继承符合,并使用将该方法与进行比较,该方法按on 实现。因此 给出与以下结果相同的结