sqlplus entfernen \r \n \t aus Spule
Gibt es eine sql*plus-Befehl zu entfernen \r
\n
und\t
aus dem ResultSet, das geht aus der spool-Datei? Das heißt, "trim" jeder Datensatz?
Haben wir set trim on
in der Vergangenheit, aber es scheint nicht zu bue, was wir jetzt brauchen. Ich versuche zu vermeiden, den Aufruf der oracle übersetzen, chr-Funktionen in der sql-Abfrage.
Beispielsweise
set termout off
set spool somefile.dat
set lin 600
select data from mytable;
set spool off;
exit;
Meine Abfrage gibt diese
|DATA|
|\n \t\t\t\t\t thisistheactualdata \t\t\t\t\t\t\n|
Und ich möchte, um dieses zu behalten in meinem Spool-Datei
thisistheactualdata
update
Gut, wir landeten etwas wie das zu tun.
set tab off;
spool /home/oracle/out.dat
set linesize 20
set termout off
set trim on
select regexp_replace(l,'(\t|\n)','') from test;
spool off;
exit;
Aber habe ein paar schlechte Nachrichten: Wir müssen zum ausführen dieses in oracle 8, und regexp_replace scheint nicht verfügbar zu sein. 🙁
Vielen Dank im Voraus.
Meinst du das entfernen dieser Zeichen, wenn Sie sind Teil der Daten (im Gegensatz zu streaming-SQL*Plus-Ausgang, ohne die Zeichen, die Sie versorgt)?
Ja, entfernen Sie Sie aus der Ausgabespalten.
Wenn Sie haben die OWA_PATTERN-Paket installiert haben, könnten Sie schreiben Ihre eigenen wrapper-Funktion zu imitieren, regexp_replace()? Vielleicht eine generische strip/trim-Funktion zur Vereinfachung der Abfragen - also, wenn Sie finden ein anderes Zeichen, das Sie entfernen möchten, können Sie ändern Sie die Funktion eher als alle Abfragen.
ÜBERSETZEN würde helfen, Ihre Oracle-8-problem?
getan, danke an alle
Ja, entfernen Sie Sie aus der Ausgabespalten.
Wenn Sie haben die OWA_PATTERN-Paket installiert haben, könnten Sie schreiben Ihre eigenen wrapper-Funktion zu imitieren, regexp_replace()? Vielleicht eine generische strip/trim-Funktion zur Vereinfachung der Abfragen - also, wenn Sie finden ein anderes Zeichen, das Sie entfernen möchten, können Sie ändern Sie die Funktion eher als alle Abfragen.
ÜBERSETZEN würde helfen, Ihre Oracle-8-problem?
getan, danke an alle
InformationsquelleAutor Tom | 2010-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass du wirst in der Lage sein, dies mit einer SQL - Plus Richtlinie. SQLPlus ist eine ziemlich thin client und ist nicht darauf ausgelegt zu berühren, die Daten aus dem ResultSet selbst.
Wenn Sie nicht wollen, verwenden Sie die integrierte SQL-Funktionen zum ändern der Ausgabe dann denke ich, Sie stecken mit post-processing eine Spool-Datei.
BEARBEITEN von DCookie:
Da habe ich die OP 's ursprüngliche Anforderung für eine nicht-ÜBERSETZEN/CHR-basierte Lösung (konzentrierte ich mich auf die OP' s lament, dass Sie stecken mit 8i), in fairness zu dpbradley werde ich zurückziehen meine Antwort und Sie als Teil dieser ein, da es deutlich wurde, betrachtet. Hier ist, was ich schrieb:
InformationsquelleAutor dpbradley
Ohne zu versuchen, es, gibt
den gewünschten Effekt haben?
InformationsquelleAutor Mark Baker