尝试在select语句中包含CASE语句。一个工作,但这一个返回错误“缺少右括号”。
||当RPAD(RA.TAX_ID,9)不为空时(RA.TAX_ID,9)ELSE'99999999',9)END
这是一个用于提供上下文的查询的编辑版本。第二个案例陈述有效。
>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
答案 0 :(得分:1)
CheckAndMutate
和then
元素都格式不正确。
else
大概 || CASE WHEN RPAD (RA.TAX_ID,9) IS NOT NULL THEN (RA.TAX_ID,9) ELSE '999999999',9) END
^ ^^^ ^^^
应该是另一个then
来电,但rpad()
看起来应该是一个简单的文字:
else
如果您使用像SQL Developer这样的IDE,它会突出显示这样的简单语法错误。
答案 1 :(得分:1)
使用coalesce()
?
|| COALESCE(RPAD(RA.TAX_ID,9), '999999999') ||
答案 2 :(得分:0)
这里没有看到未公开的括号: ==> '999999999',9)