l'exportation au format csv à partir de db2 avec pas de délimiteur
J'ai besoin d'exporter le contenu d'une table db2 fichier CSV.
J'ai lu que nochardel
permettrait d'éviter d'avoir le séparateur entre chaque données, mais qui n'est pas le cas.
Supposons que j'ai une table
MY_TABLE
-----------------------
Field_A varchar(10)
Field_B varchar(10)
Field_A varchar(10)
Je suis à l'aide de cette commande
export to myfile.csv of del modified by nochardel select * from MY_TABLE
- Je obtenir ce écrit dans le myfile.csv
data1 ,data2 ,data3
mais je voudrais non ',' séparateur comme ci-dessous
data1 data2 data3
Est-il un moyen de le faire?
Vous devez vous connecter pour publier un commentaire.
Vous demandez comment éliminer la virgule (
,
) dans un virgule fichier de valeurs séparées? 🙂NOCHARDEL
dit DB2 pas entourer le personnage-champs (CHAR
etVARCHAR
champs) avec un personnage-champ-délimiteur (par défaut c'est le double devis"
caractère).De toute façon, lors de l'exportation à partir de DB2 en utilisant le format délimité, vous devez avoir un certain type de délimiteur de colonne. Il n'y a pas un
NOCOLDEL
option pour les fichiers délimités.La
EXPORT
utilitaire ne peut pas écrire de longueur fixe (position) de dossiers que vous avez à faire cela soit en:Voici un exemple pour la dernière option:
Cette dernière option peut être une douleur depuis DB2 n'a pas de
sprintf()
fonction à l'aide de chaînes de format joliment.Oui, il y a une autre manière de faire. J'ai toujours ceci:
Mettre instruction select dans un fichier (à l'entrée.sql):
Appel db2 clp comme ceci:
Ce travail pour vous, parce que vous avez besoin de jeter varchar char. Comme Ian dit, le casting des chiffres ou d'autres types de données char pourrait apporter des résultats inattendus.
PS: je pense que Ian points de droit sur la différence entre le CSV et de longueur fixe de format 😉
Utilisation "de l'asc" au lieu de "del". Ensuite, vous pouvez spécifier la colonne fixe les emplacements au lieu de délimitation.