Bonjour tout le monde,
j'ai un sérieux problème avec la syntaxe de OPENQUERY pour récupérer des
données d'un fichier CSV, au fait quand j'exécute la requête suivante :
select * FROM OPENQUERY(TEST, 'SELECT [Code client] FROM
SGB_SHIPTO_20050509#csv')
j'ai comme résultat des code de ce style : 38, 26, 25, 103
alors que si j'aouvre mon fichier csv j'ai normalement : 0038, 00026, 00103
mon problème c que les zéros sont tronqués
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel PRIORI
Le mécanisme d'ouverture d'une source non structurée impose une "découverte" du type de donnée. Quand le moteur voit qqchose comme 001 il le transforme en numérique et donc les zéros non significatifs sont supprimés. Je ne sais pas comme forcer la lecture de la colonne en texte (char, varchar ...).
Par contre un truc comme : Select replicate('0', 5-len([Code client]) + [Code client] codeclt FROM OPENQUERY(TEST, 'SELECT [Code client] FROM B_SHIPTO_20050509#csv')
à vérifeir tout de même !!!
"Win2000" a écrit :
Bonjour tout le monde, j'ai un sérieux problème avec la syntaxe de OPENQUERY pour récupérer des données d'un fichier CSV, au fait quand j'exécute la requête suivante : select * FROM OPENQUERY(TEST, 'SELECT [Code client] FROM SGB_SHIPTO_20050509#csv') j'ai comme résultat des code de ce style : 38, 26, 25, 103 alors que si j'aouvre mon fichier csv j'ai normalement : 0038, 00026, 00103 mon problème c que les zéros sont tronqués
si vous pouvez m'aider svp Merci
Le mécanisme d'ouverture d'une source non structurée impose une "découverte"
du type de donnée.
Quand le moteur voit qqchose comme 001 il le transforme en numérique et donc
les zéros non significatifs sont supprimés.
Je ne sais pas comme forcer la lecture de la colonne en texte (char, varchar
...).
Par contre un truc comme :
Select
replicate('0', 5-len([Code client]) + [Code client] codeclt
FROM OPENQUERY(TEST, 'SELECT [Code client]
FROM B_SHIPTO_20050509#csv')
à vérifeir tout de même !!!
"Win2000" a écrit :
Bonjour tout le monde,
j'ai un sérieux problème avec la syntaxe de OPENQUERY pour récupérer des
données d'un fichier CSV, au fait quand j'exécute la requête suivante :
select * FROM OPENQUERY(TEST, 'SELECT [Code client] FROM
SGB_SHIPTO_20050509#csv')
j'ai comme résultat des code de ce style : 38, 26, 25, 103
alors que si j'aouvre mon fichier csv j'ai normalement : 0038, 00026, 00103
mon problème c que les zéros sont tronqués
Le mécanisme d'ouverture d'une source non structurée impose une "découverte" du type de donnée. Quand le moteur voit qqchose comme 001 il le transforme en numérique et donc les zéros non significatifs sont supprimés. Je ne sais pas comme forcer la lecture de la colonne en texte (char, varchar ...).
Par contre un truc comme : Select replicate('0', 5-len([Code client]) + [Code client] codeclt FROM OPENQUERY(TEST, 'SELECT [Code client] FROM B_SHIPTO_20050509#csv')
à vérifeir tout de même !!!
"Win2000" a écrit :
Bonjour tout le monde, j'ai un sérieux problème avec la syntaxe de OPENQUERY pour récupérer des données d'un fichier CSV, au fait quand j'exécute la requête suivante : select * FROM OPENQUERY(TEST, 'SELECT [Code client] FROM SGB_SHIPTO_20050509#csv') j'ai comme résultat des code de ce style : 38, 26, 25, 103 alors que si j'aouvre mon fichier csv j'ai normalement : 0038, 00026, 00103 mon problème c que les zéros sont tronqués