|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 24 ![]() |
Bonjour,
J'aimerais savoir s'il est possible (et comment) d'obtenir un export CSV d'une table en passant par la commande COPY TO sans que les champs NULL soient délimités par des "" ? Requête : Code :
COPY (Ma requête) TO '/tmp/titi.csv' WITH DELIMITER ';' CSV; Merci d'avance !!!
|
|
|
00
|
|
|
#2 | |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
Où ça un délimiteur?
Code :
copy (SELECT 'abc',NULL,NULL,'efg') TO stdout WITH delimiter ';' csv; Citation:
|
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 24 ![]() |
Bonjour et tout d'abord merci pour la réponse !
En réalité mon problème provient du fait que la commande COPY balise par défaut les données NULL par des " ". Certaines données sont NULL, d'autres non et cela sur une même colonne. Par conséquent, je ne peux pas forcer l'attribution de la valeur NULL sur une colonne donnée. Comment pourrais-je forcer la non attribution des " " dans le cadre de données NULL sur n'importe quelle colonne de ma table ? (j'aimerais qu'il n'y ait aucun balisage). Merci d'avance. |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juillet 2009 Messages : 24 ![]() |
Effectivement la commande COPY ci-dessus remonte des champs NULL sans " " mais ce n'est toujours pas ce dont j'ai besoin.
Je m'explique, en forcant les champs (SELECT 'abc',NULL,NULL,'efg') il n'y a aucun possibilité de sortir de ces colonnes les données qui y sont inscritent. Certaines données de ces colonnes sont effectivement NULL mais d'autres non donc je ne peux pas employer cette commande dans la mesure ou elle force les colonnes 2 et 3 à justement ne rien afficher. Il faudrait : Si les données sont NULL (qu'importe la colonne) qu'elles ne soient pas entourées de " ". Exemple : colonne 1; colonne 2; colonne 3 A. Deuxième colonne NULL. Le format de sortie standard est le suivant : toto;"";titi Il faudrait : toto;;titi B. Troisième colonne NULL. Le format de sortie standard est le suivant : toto;tata;"" Il faudrait : toto;tata; As-tu une idée ? Si il y a besoin de plus d'explication n'hésitez pas à me le faire savoir |
|
|
00
|
|
|
#6 | |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
Je ne peux pas reproduire pas le problème dont tu parles avec PG 9.1
Soit une table abc avec 3 colonnes: Code :
CREATE TABLE abc(a text,b text, c text); Code :
INSERT INTO abc VALUES('toto',NULL,'titi'); Code :
copy abc TO stdout WITH delimiter ';' csv; Citation:
Si tu vois des guillemets de ton côté, montre ton jeu d'essai et ta requête pour reproduire le problème. |
|
|
|
00
|
|
|
#7 | ||
![]() ![]() |
Il y a peut-être confusion entre les nulls et les vides :
Code :
__________________
Email : http://scr.im/waldar |
||
|
10
|
Copyright © 2000-2013 - www.developpez.com