sql - 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
解决方案
这不是更简单coalesce()
吗?
|| COALESCE(RPAD(RA.TAX_ID,9), '999999999') ||
推荐阅读
- python - 检查时间戳是否在两列之间
- dax - 一个月内重复
- java - Spring Rest API TransactionSystemException
- javascript - firebase 的调整大小扩展完成后获取下载网址
- java - 使用java插入数据时pdf文件中的数据覆盖
- feathersjs - 需要在feathersjs中添加多于usernameField
- c# - .NET Core 3 中的 DLLExport 用于非托管 C/C++ 代码
- progressive-web-apps - 获取 TypeError:无法在渐进式 Web 应用程序中获取
- php - 如何在 PHP 应用程序中使用 Symfony 路由组件从 .yaml 和通过注解注册路由
- c# - 从 C# 中以系统日志为前缀的行中提取 JSON