la virgule en mode SQL: séparation de champs et décimales

Petit nouveau ! | 5 Messages

24 nov. 2008, 19:07

Bonjour,

Je veux mettre à jour, une table qui comprend des données numériques avec décimales en créant une requête d'ajouts de données.
Or, je sépare les valeurs des champs (de l'enregistrement à rajouter) par une virgule et mes décimales sont aussi indiquées par une virgule.
Comment faire la distinction entre valeur du champ suivant et décimale ? Dans la mesure où le champ est de type numérique, je ne le mets pas entre guillemets.

Merci pour votre aide.

Eléphant du PHP | 422 Messages

24 nov. 2008, 19:53

Par défaut, dans une base de données, c'est le format anglophone des nombres décimaux qui s'applique. Je pense qu'il faut donc que tu transformes tes virgules en points.

Avec Oracle, il est permis de modifier ces caractères par défaut dans les paramètres de localisation. Je n'ai rien vu dans la doc MySQL qui permette de faire pareil, ni dans MySQL Administrator. Et en faisant quelques recherche sur "decimal separator mysql", ça ne donne pas grand chose non plus.

Mammouth du PHP | 2937 Messages

24 nov. 2008, 20:19

Autre solution, moins « propre » : enfermer les nombre décimaux dans des chaînes de caractères, comme suit :

Code : Tout sélectionner

INSERT INTO table (col1, col2) VALUES ('2,32', '3,14');
Encore faut-il que les colonnes qui doivent contenir les valeurs en question puissent accepter les chaînes de caractères.

Eléphant du PHP | 422 Messages

25 nov. 2008, 12:43

enfermer les nombre décimaux dans des chaînes de caractères
????
Ca va être pratique pour faire des sommes ou des moyennes ...

Mammouth du PHP | 2937 Messages

25 nov. 2008, 18:29

????
Ca va être pratique pour faire des sommes ou des moyennes ...
J'ai bien parlé de solution moins « propre ». ;)

Petit nouveau ! | 5 Messages

05 déc. 2008, 15:58

....Merci pour vos réponses.