【发布时间】:2014-12-12 06:24:58
【问题描述】:
我根据记录的类型从两个不同的列中选择数据。
使用 Case 语句检查它是什么类型的记录并选择要插入的适当列。
但是使用 CAST 的语法不正确,并且在检查了 Oracle 文档后,没有理由不工作。
CREATE TABLE TEST123 AS
SELECT DISTINCT
bill.ROW_ID,
bill.ACCNT_TYPE_CD,
CASE
WHEN bill.ACCNT_TYPE_CD = 'TestAccount'
THEN CAST(TO_CHAR(bill.INTEGRATION_ID) AS VARCHAR2(30)) AS NUM
ELSE CAST(TO_CHAR(bill.OU_NUM )AS VARCHAR2(30)) AS NUM
END
FROM SIEBEL.S_ORG_EXT bill
INNER JOIN Products prod
ON prod.BILL_ACCNT_ID = bill.ROW_ID
OR prod.CUST_ACCNT_ID = bill.ROW_ID;
错误代码是:
ORA-00905: 缺少关键字 00905. 00000 - “缺少关键字”
【问题讨论】: