甲骨文:SELECT 值如果

ORACLE: SELECT VALUE IF

我正在尝试 select 取决于不同条件的不同值,但我不完全知道如何在 SQL/Oracle..

中实现这一点

这是一个例子:

SELECT VALUE (I dont exactly know what to write here)
FROM
  (SELECT 
  (CASE
     WHEN (Select 1 from DUAL) = 1 THEN 'TEST'
     WHEN (Select 1 from DUAL) = 0 THEN 'TEST1'
     WHEN (Select 1 from DUAL) = 0 THEN 'TEST2'
     ELSE 'N/A'
  END) 
FROM DUAL);

我想根据条件打印不同的结果...比如上面的例子应该打印"TEST"

您需要为 CASE 语句提供别名:

SELECT alias_for_your_case_value
FROM   (
  SELECT CASE (Select 1 from DUAL)
           WHEN 1 THEN 'TEST'
           WHEN 0 THEN 'TEST1'
           WHEN 0 THEN 'TEST2'
           ELSE 'N/A'
         END AS alias_for_your_case_value
  FROM   DUAL
);