首页 > 解决方案 > RPAD 和 CASE 语句 - Oracle SQL - 缺少右括号错误

问题描述

试图在 select 语句中加入 CASE 语句。一个有效,但这个返回错误“缺少右括号”。

|| CASE WHEN RPAD (RA.TAX_ID,9) 不为 NULL THEN (RA.TAX_ID,9) ELSE '999999999',9) END

这是查询的编辑版本以提供上下文。第二个case语句有效。

    >SELECT DISTINCT
    > RPAD ('D', 1)
    > || CASE WHEN RPAD (RA.TAX_ID,9) IS NOT NULL THEN (RA.TAX_ID,9) ELSE  '999999999',9) END

    > || CASE WHEN RPAD (RA.ACCOUNT_ENTITY_IND, 1) = 'P' THEN 'I' ELSE ' ' END
    > || RPAD (RA.LAST_NAME, 20)
    > || RPAD (RA.FIRST_NAME, 20)
    > || RPAD (' ', 10)
    > AS HEADER_ROW

标签: sqloraclecase

解决方案


这不是更简单coalesce()吗?

|| COALESCE(RPAD(RA.TAX_ID,9), '999999999') ||

推荐阅读