【问题标题】:Oracle SQL comparison between two columns?两列之间的Oracle SQL比较?
【发布时间】:2020-07-15 18:17:54
【问题描述】:

我正在尝试在两列之间进行比较,以找出它们序列中的不匹配。

Column_A 和 Column_B 具有 char 值并且需要比较,如果 Column_A 和 Column_B 具有相同的值而不管大小写,那么 RESULT col 应该成功,如果它们有不同的值,RESULT col 应该像第 4 行和第 5 行一样有 FAIL

Column_A         Column_B          RESULT
------------------------------------------
 Apple           APPLE             SUCCESS
 Orange          ORANGE            SUCCESS
 Sun Flower      SUN FLOWER        SUCCESS
 Lily            LOTUS             FAIL
 Lotus           LILY              FAIL
 Olive           OLIVE             SUCCESS

我尝试了以下查询,

SELECT 
    Column_A, Column_B
    CASE
       IF Column_A == Column_B THEN SUCCEES
       ELSE FAIL 
    END AS RESULT 
FROM COMP_FRT;

【问题讨论】:

    标签: sql oracle


    【解决方案1】:
    SELECT column_A, column_B, CASE WHEN upper(Column_A) = upper(column_B) then 'SUCCESS' ELSE 'FAIL' END AS RESULT FROM COMP_FRT;
    

    您可以根据自己的实际舒适度使用lower或upper或INITCAP

    【讨论】:

      【解决方案2】:
      SELECT Column_A, Column_B,
      CASE WHEN Lower(Column_A) = lower(Column_B) 
           THEN 'SUCCESS' ELSE 'FAIL' 
      END AS RESULT 
      FROM COMP_FRT;
      

      【讨论】:

        【解决方案3】:

        如下图所示

        SELECT Column_A, Column_B,
        CASE when Column_A = Column_B THEN 'SUCCEES'
        ELSE
        'FAIL' 
        END AS RESULT 
        FROM COMP_FRT;
        

        【讨论】:

          猜你喜欢
          • 2014-06-10
          • 2022-01-09
          • 2015-07-28
          • 1970-01-01
          • 2023-03-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-06
          相关资源
          最近更新 更多