首页 > 解决方案 > 如何将 case 语句与 || 一起使用 Oracle SQL 中的运算符?

问题描述

谁能帮忙解释一下下面sql语句的含义?

FROM
  (
    CSA.X_INITIATED_BY_PSID
   ||
    CASE
      WHEN (SELECT USER_FULLNAME
        FROM TABLE_NAME
        WHERE USER_PSID = CSA.X_INITIATED_BY_PSID) IS NULL
      THEN \' - NA\'
      ELSE \' - \'
        ||
        (SELECT USER_FULLNAME
        FROM TABLE_NAME
        WHERE USER_PSID = CSA.X_INITIATED_BY_PSID
        )
    END INTITATED_BY

标签: sqloracle

解决方案


您没有指定表的结构,所以我使用了一个最小的示例:

SELECT dummy || ' ' || 
       CASE  (SELECT count(*) FROM dual) 
         WHEN 1 THEN 'one'
         WHEN 2 THEN 'huh?' 
        END AS x
  FROM dual;

X one

推荐阅读