begin process at 2012 05 27 00:42:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Divers

 > 

probleme de virgule


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de virgule

mardi 8 novembre 2011 à 10:20:56 | probleme de virgule

colonelblondass

Bonjour à vous Forum,

J'ai un énorme problème en SQL.

J'ai une table avec plus de 21 millions d'enregistrements et en l'important, la colonne avec la pondération a eu un problème : les virgules ont disparu (ce qui veut dire qu'à la place d'avoir "2.452" j'ai "2452.0" .

Je suis sur SQL server et j'ai mis ma colonne en float.

Puis-je faire quelque chose d'autre que me retaper l'importation qui a duré très longtemps ?

Merci à vous,

Cordialement,

ColonelBlondass
mardi 8 novembre 2011 à 11:05:38 | Re : probleme de virgule

Julien39

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

Tu as importé ca à partir de quel fichier ?

Tu devrais pouvoir t'en tirer avec des UPDATE mais je ne peux pas t'en dire plus si tu ne me donnes pas plus d'informations.

En règle générale, quand tu as une table énorme, essaye d'abord de tester les modifs sur un petit échantillon.

Là tu peux toujours créer une autre table en ne sélectionnant que 200 lignes et voir comment tu peux t'en sortir avec les update.
mardi 8 novembre 2011 à 11:09:06 | Re : probleme de virgule

colonelblondass

Merci Julien,

J'ai bien testé avec des update sur des morceau de ma table, mais je galère.

J'ai importé un fichier txt de plusieurs go, je ne peux ni l'ouvrir avec bloc-notes, ni avec rien de ma connaissance si ce n'est SQL-server.
mardi 8 novembre 2011 à 11:13:35 | Re : probleme de virgule

Julien39

Membre Club Administrateur CodeS-SourceS
Tu travailles sur un poste de travail windows, unix ou linux ?

Je vais te donner un truc qui permet de fractionner ton fichier.
mardi 8 novembre 2011 à 11:29:01 | Re : probleme de virgule

Julien39

Membre Club Administrateur CodeS-SourceS
Avec SQL server, c'est forecement windows, attend une seconde, je te bidouille un code.
mardi 8 novembre 2011 à 11:32:08 | Re : probleme de virgule

Julien39

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Voilà, il suffit que tu créé un fichier decoupe.vbs et que tu colles ca dedans :

Code Visual Basic :
nom_fichier_entree = "D:\fichier.txt"
nom_fichier_sortie = "D:\res.txt"

Dim fichierSortie
Dim fichierEntree
Set fichierSortie = CreateObject("Scripting.FileSystemObject").OpenTextFile(nom_fichier_sortie, 2, True)
Set fichierEntree = CreateObject("Scripting.FileSystemObject").OpenTextFile(nom_fichier_entree, 1, False)
Dim compteur
Dim ligne

compteur=0
Do While fichierEntree.AtEndOfStream = False And compteur < 100
	ligne = fichierEntree.ReadLine
	fichierSortie.write(ligne)
	fichierSortie.writeBlankLines 1
	compteur=compteur+1
Loop
fichierEntree.Close
fichierSortie.Close


Ensuite, tu modifie le code pour donner le chemin vers ton fichier à découper (nom_fichier_entree) et le chemin vers le resultat (nom_fichier_sortie).

Avec ce code, tu pourras découper les 100 premieres lignes de ton fichier et voir à quoi elles ressemblent.

Ensuite donne moi les 10 premières lignes si tu as des soucis
mardi 8 novembre 2011 à 11:50:54 | Re : probleme de virgule

colonelblondass

J'ai vu mon problème, j'ai exporté la table en format texte, et j'ai découvert ceci :
sur le fichier importer, le séparateur est ";" et les décimales ","
sur le fichier exporter, le séparateur est "," et il n'y a pas de décimales.

J'ai du mal importer mon fichier.

Vu que quand j'avais 3.154 c'est devenu 3154, si je divise toute ma colonne pas 1000, mes chiffres redeviennent bons. (merci à un membre d'un autre forum).

Ton code pour couper les fichiers est excellent, il va bien me servir par la suite.

Merci beaucoup.

Amitiés,

Colonel Blondass
mardi 8 novembre 2011 à 13:12:53 | Re : probleme de virgule

Julien39

Membre Club Administrateur CodeS-SourceS
Attention, cette solution n'est valable que si tu n'as que trois et seulement trois chiffres après la virgule.

Par exemple 3,154 et 31,54 pourraient être devenus 3154. Comment les différencient tu ?

Si tu as toujours 3 chiffres, c'est bon.

C'est ce genre de particularité sur le fichier que j'aurais bien aimé voir si tu m'avais donné quelques lignes en exemples.

Si tu ne veux pas que ca traine sur internet, je supprimerai le message après.
dimanche 27 novembre 2011 à 11:59:58 | Re : probleme de virgule

dbashell

Salut les gars,
juste pour votre culture (et peut-être pour l'avenir), ce n'ai pas parce que SQL server tourne forcement sous windows que vous ne pouvez pas scripter depuis un bon vieux linux !!!
Il vous suffit d'installer FreeTds (sous Linux ou autre) qui est un client tds donc compatible SQL server et Sybase et le tour est joué ...
Pour l'installer, vous pouvez utiliser ce post qui est très bien fait "install freetds"
A partir de là, vous bénéficier de toute la puissance des outils "unix like" comme le shell par exemple.

Un bon script pour ne pas faire deux fois la même chose ...


Cette discussion est classée dans : problème, sql, probleme, colonne, virgule


Répondre à ce message

Sujets en rapport avec ce message

SQL Microsoft [ par Zoubida ] Bonjour à tous,j'ai un problème de requête SQL. Mon application tourne sous SQL SERVER et je dois la rendre compatible avec ACCESS . Le problème c'es Problème SQLSERVER/php [ par LeJulius ] Je travaille actuellement sous SQL SERVER 2000 en lien avec du PHP 4.2.0 Mon problème est le suivant :Mes tables sql contiennent des caractères accent probleme en SQL [ par raziel62 ] bonjour, j'ai un probleme sur une requete SQLJ'ai fait une requete qui donne ce resultat15/01/2005    1016/01/2005    1418/01/2005     5maintenant je Problème accès base [ par skowee59 ] J'ai développé une appli qui accède à une base SQL Server.Tous les ADMINISTRATEURS du domaine arrivent à y accéder mais dès que j'essaie avec un compt Problème avec l'opérateur LIKE dans SQL SERVER [ par oluha ] BonjourJ'ai un petit problème avec une procédure stockée sur SQL server.Dans celle ci j'utilise une requete de type :select count(*) from matable wher Problème de date [ par kidpigeyre ] Voila mon problème : Je dois afficher les emplacements libres d'un certain type entre deux dates (date_debut et date_fin) en sql access.Voici mes deux base sql problème [ par Fildomen ] salut ( 4fois par jour!!)j'ai réinstaller le windows, et quand je veux attacher ma base de donnée sql server 2000, il me passe une erreur  comme s'il SQL : probleme de not in [ par bliss_00 ] Bonjour à tous,je voudrais éxécuter une requête SQL sur une BdD mysql mais apparemment il y aurait une erreur de syntaxe. Je ne suis pas sûr de la syn probleme de creation de requete sql server [ par firas_tn ] Bonjour a tous je suis débutant en sql server, j'ai une base de donnée en sql server et une table qui m'intéresse ou il ya beaucoup de champs je veux Probleme de DATE sous SQL server [ par youyou08 ] J'ai un probleme avec la création d'une variable Date sous SQL server J'ai taper le code suivant pour créer ma variable DECLARE @date DATETIME SET @d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,998 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales