Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/10/2011, 14h36   #1
Futur Membre du Club
 
Inscription : juin 2006
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 74
Points : 15
Points : 15
Par défaut Virgule dans Float

Bonjour,

actuellement, j'essaie avec bulk insert d'insérer les valeurs de fichiers csv qui me sont fournis. Le problème est que certaines valeurs Float ou Double sont générés en français avec la virgule à la place du point (exemple 15,6 au lieu de 15.6). Résultat, cela ne marche pas.

Je ne trouve pas le moyen d'importer ces valeurs dans un champ FLOAT à cause de cela. Comment faire pour changer cela sachant que je dois automatiser ce changement à chaque fois.

Si vous aviez une idée, j'en serai heureux.

merci
locus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 15h02   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
On insère jamais directement des données non typées dans une table SQL avec des colonnes qui sont typées.
  • Soit il vous faut utiliser un ETL comme SSIS et faire des transformations à la volée ligne à ligne
  • soit il vous faut importer dans une table temporaire déstructurée (toutes les colonnes en varchar) puis modifier et faire un insert final.
Le plus rapide étant généralement la 2e solution.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 15h21   #3
Futur Membre du Club
 
Inscription : juin 2006
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 74
Points : 15
Points : 15
Merci pour la réponse.

Ne pouvant pas employé la 1ére méthode, j'avais déjà essayé quelque chose de proche de la deuxième méthode.

Lorsque vous dite de modifier, est-ce qu'il s'agit de juste changer le type de la colonne avec un alter? car cela ne marche pas pour moi. Je ne connais pas grand chose à SQL Server alors les DTS ou SSIS, je crains d'avoir du mal.
locus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h09   #4
Futur Membre du Club
 
Inscription : juin 2006
Messages : 74
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 74
Points : 15
Points : 15
je fais en c++ un replace

je créé un tableau et j'emploie la commande suivant en c++
replace(tab[i].begin(), tab[i].end(), ',', '.');
locus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h12.


 
 
 
 
Partenaires

Hébergement Web