Génération de fichier .csv via une requête SQL
Bonjour à tous.
Je suis toute nouvelle dans ce forum, j'ai donc recherché en premier lieu des réponses à mon besoin et j'en ai trouvé.
J'ai appliqué les conseils prodigués et cela fonctionne à un souci près : lé CSV généré semble en largeur fixe, complément avec des caractères blancs, alors que je n'ai rien précisé de ce style.
J'ai bien utilisé le set colsep "|" que je retrouve bien entre 2 colonnes, exemple ci-dessous :
|VPROM3 |IND | 2022
Auriez-vous une solution pour être en longueur variable ?
Je vous remercie par avance des retours que vous pourrez me faire.
Bonne fin de journée à tous.
Citation:
Envoyé par
Pomalaix
Le SET COLSEP est fort utile pour générer un .CSV, puisqu'il permet de choisir le séparateur de colonnes, et donc un point-virgule si on le souhaite.
Ainsi, en mettant ce qui suit dans "c:\temp\script.sql :
Code:
1 2 3 4 5 6 7 8 9 10
| set colsep ";"
set trimspool on
set heading off
set echo off
set feedback off
set pagesize 0
spool c:\temp\resu.csv
select * from scott.emp;
spool off |
Puis en appelant ce script
Code:
@c:\temp\script.sql
On obtient un fichier CSV parfaitement valable, sans avoir eu besoin de concaténer explicitement les différentes colonnes.
Nous nous approchons de la solution finale ...
Un grand merci de ne vous être pas lassé et de poursuivre vos recherches et conseils !
Les derniers améliorent la situation, j'ai suivi le lien fourni et j'obtiens mes colonnes sans espace, mais avec un séparateur ","
J'ai beau utiliser SET COLSEP "|" ou bien SET MARKUP CSV ON DELIMITER "|", rien n'y fait, je conserve les ","
Comme j'ai des montants avec ce symbole, il faudrait que j'arrive vraiment à forcer un autre caractère.
Si je peux encore abuser ... Rerere merci ;-)