PL / SQL CONCAT函数

目标:拥有链接到客户帐单的Excel文档。

所需的PL / SQL输出:

account_id | bill_id | '=HYPERLINK(".\"&'||bill_id||'&"-00.PDF")' -----------+---------+---------- 12345 | 10 | =HYPERLINK(".\"&10&"-00.PDF") 23456 | 11 | =HYPERLINK(".\"&11&"-00.PDF") 34567 | 12 | =HYPERLINK(".\"&12&"-00.PDF") 

PL / SQL查询( 文档在这里 )没有select第二个concat,而PL / SQL Developer生成一个标题为“Variables”的popup窗口询问一个值。
Select account_id, bill_id, '=HYPERLINK(".\"&' || bill_id || '&"-00.PDF")' from customer_table
也testing过了
Select account_id, bill_id, CONCAT( CONCAT('=HYPERLINK(".\"&',bill_id),'&"-00.PDF")') from customer_table

电stream输出:

 account_id | bill_id | '=HYPERLINK(".\"&'||bill_id||'&"-00.PDF")' -----------+---------+---------- 12345 | 10 | =HYPERLINK(".\"&10) 23456 | 11 | =HYPERLINK(".\"&11) 34567 | 12 | =HYPERLINK(".\"&12) 

我没有看到在我的search这个特定的问题,但会更新,如果我find一个解决scheme。 会有人看到这个问题或能够提出一个解决方法吗?

&符号被认为是SQL*Plus的替代运算符。 那么,话虽如此,大多数基于GUI的客户端工具都能够执行SQL * Plus命令。

您的客户端工具正在考虑&作为替代运营商。

你可以跳过它。

或者,在会话级set define off

例如,

 SQL> SELECT 'HYPERLINK(".\"&10&"-00.PDF")' FROM dual; Enter value for 10: old 1: SELECT 'HYPERLINK(".\"&10&"-00.PDF")' FROM dual new 1: SELECT 'HYPERLINK(".\"&"-00.PDF")' FROM dual 'HYPERLINK(".\"&"-00.PDF" ------------------------- HYPERLINK(".\"&"-00.PDF") SQL> SET DEFINE OFF SQL> SELECT 'HYPERLINK(".\"&10&"-00.PDF")' FROM dual; 'HYPERLINK(".\"&10&"-00.PDF" ---------------------------- HYPERLINK(".\"&10&"-00.PDF") SQL> 

尝试以下查询: –

 SELECT account_id, bill_id, CONCAT('=HYPERLINK(".\"&',bill_id,'&"-00.PDF")') FROM customer_table;