sqlplus supprimer \r \n \t de la bobine

Est-il de sql*plus de commande pour supprimer \r \n et\t de l'ensemble de résultats qui va sortir pour le fichier spool? Qui est, "trim" chaque enregistrement?

Nous avons utilisé set trim on dans le passé, mais il ne semble pas bue ce que nous avons besoin. J'essaie d'éviter d'attirer l'oracle de traduire, chr fonctions dans la requête sql.

Par exemple,

set termout off
set spool somefile.dat
set lin  600

select data from mytable;

set spool off;
exit;

Ma requête renvoie cette

|DATA|
|\n \t\t\t\t\t thisistheactualdata \t\t\t\t\t\t\n|

Et j'aimerais garder ça dans ma file d'attente de fichiers

thisistheactualdata

mise à jour

Bien, nous avons fini par faire quelque chose comme ça.

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;

Mais ai une mauvaise nouvelle: Nous avons besoin pour exécuter cet oracle 8, et regexp_replace ne semble pas être disponible. 🙁

Merci d'avance.

Entendez-vous la suppression de ces personnages lorsqu'ils sont une partie des données (par opposition à la diffusion du SQL*Plus de sortie sans les personnages qu'il fournit)?
Oui, d'en supprimer les colonnes de sortie.
Si vous avez la OWA_PATTERN paquet installé, pourriez-vous écrire votre propre fonction wrapper pour imiter regexp_replace()? Éventuellement un générique de bande/trim fonction pour simplifier les requêtes - donc, si vous trouvez un autre caractère que vous voulez supprimer, vous pouvez modifier la fonction plutôt que de toutes les requêtes.
Traduirait aider votre Oracle 8 problème?
fait, merci à tous

OriginalL'auteur Tom | 2010-06-09