Oracle SQL:将 CHR() 函数与 || 结合使用连接和加入
Posted
技术标签:
【中文标题】Oracle SQL:将 CHR() 函数与 || 结合使用连接和加入【英文标题】:Oracle SQL: Using CHR() function with || concatenate and join 【发布时间】:2017-03-20 20:02:45 【问题描述】:下面的查询返回错误
SELECT 'mailto:'|| fscp.parameter_value || '?subject=' || wfn.subject nid_subject || chr(38)
FROM apps.wf_notifications wfn, apps.fnd_svc_comp_param_vals_v fscp
WHERE fscp.component_id = :component_id
AND component_parameter_id = :param
AND wfn.item_key = :itemkey;
错误
ORA-00923: 在预期的地方找不到 FROM 关键字 00923.00000 - “在预期的地方找不到 FROM 关键字”
当我删除 '|| chr(38)' 在 select 语句的末尾,查询运行良好。 与连接表有关的东西?因为下面的查询也可以正常工作:
select 'Text: '||chr(39)||wfn.notification_id||chr(39) from wf_notifications wfn;
【问题讨论】:
Oracle SQL: Using CHR() function with || concatenate的可能重复 【参考方案1】:你有这个在select
:
|| wfn.subject nid_subject ||
也许你打算:
SELECT 'mailto:'|| fscp.parameter_value || '?subject=' || wfn.subject || nid_subject || chr(38)
----------------------------------------------------------------------^
亚历克斯是对的。问题的关键是它可以在没有chr(38)
的情况下工作。所以,试试这个:
SELECT ('mailto:'|| fscp.parameter_value || '?subject=' || wfn.subject || chr(38) ) as nid_subject
注意使用括号和as
来明确定义列别名。
【讨论】:
我怀疑nid_subject
应该是整个表达式的别名,而不是另一列 - 部分原因是它没有表(别名)前缀。但很难说...
@AlexPoole 。 . .你说的对。问题中甚至还有提示。以上是关于Oracle SQL:将 CHR() 函数与 || 结合使用连接和加入的主要内容,如果未能解决你的问题,请参考以下文章
oracle 查找某字段中含有回车换行的记录,请问怎么写SQL?