ORACLE IIF 声明

2021-12-06 00:00:00 conditional-operator oracle iif

我在编写 IIF 语句、表和下面给出的语句时出错.

I get an error while writing the IIF statement, table and the statement given below.

声明:

SELECT IIF(EMP_ID=1,'True','False') from Employee;

表格:

CREATE TABLE SCOTT.EMPLOYEE
(
   EMP_ID       INTEGER                          NOT NULL,
   EMP_FNAME    VARCHAR2(30 BYTE)                NOT NULL,
   EMP_LNAME    VARCHAR2(30 BYTE)                NOT NULL,
   EMP_ADDRESS  VARCHAR2(50 BYTE)                NOT NULL,
   EMP_PHONE    CHAR(10 BYTE)                    NOT NULL,
   EMP_GENDER   CHAR(1 BYTE)
)

错误:

00907-缺少右括号

00907-missing right parantheses

请提供您的意见.

推荐答案

Oracle 没有提供这样的 IIF 函数.相反,请尝试使用以下替代方法之一:

Oracle doesn't provide such IIF Function. Instead, try using one of the following alternatives:

解码函数:

SELECT DECODE(EMP_ID, 1, 'True', 'False') from Employee

CASE 函数:

SELECT CASE WHEN EMP_ID = 1 THEN 'True' ELSE 'False' END from Employee

相关文章