2015-04-23 16 views
-1

這是管道分隔符如何將雙引號在Oracle輸出記錄

04/22/2015|695|1074795|CRUSE|AXDE|01/29/1963|88359||||| 

我想改變這樣的

"04/22/2015"|"695"|"1074795"|"CRUSE"|"AXDE"|"01/29/1963"|"88359"||||| 

什麼是Perl查詢中的Oracle輸出記錄?

+1

不能更改Oracle過程,使其輸出結果:

無論如何,你可以使用更換RTRIM做在SQL用雙引號括起來? – Boneist

回答

0

我想改變這樣的

「2015年4月22日」 | 「695」 | 「1074795」 | 「CRUSE」 | 「AXDE」 | 「1963年1月29日」 |「88359 「|||||

我不會說這是一個優雅的方式來做到這一點,因爲它總是更好地修復源本身。在你的情況下,無論是產生輸出,你可以簡單地連接雙引號列名

SQL> WITH DATA AS(
    2 SELECT '04/22/2015|695|1074795|CRUSE|AXDE|01/29/1963|88359|||||' str FROM dual 
    3 ) 
    4 SELECT '"'||rtrim(REPLACE(REPLACE(str, '|', '"|"'), '""',''),'"') str FROM DATA; 

STR 
--------------------------------------------------------------------- 
"04/22/2015"|"695"|"1074795"|"CRUSE"|"AXDE"|"01/29/1963"|"88359"||||| 

SQL> 
+0

**如何在perl中使用此查詢** 如何在perl中查詢的這一部分 '「'|| rtrim(REPLACE(REPLACE(str,'|','」|「'),'」「' ,''),''') – sk1007

+0

如果這是Oracle的輸出,那麼爲什麼你不能在Oracle本身上做同樣的事情? perl與這裏有什麼關係?而且,你的問題只有'oracle'標籤。所以,這個答案應該足夠了。 –

0

檢查這個

select '"04/22/2015"|"695"|"1074795"|"CRUSE"|"AXDE"|"01/29/1963"|"88359"|||||' as str from dual 

STR                 
--------------------------------------------------------------------- 
"04/22/2015"|"695"|"1074795"|"CRUSE"|"AXDE"|"01/29/1963"|"88359"||||| 
相關問題