Conversion d'un chiffre de 2 à 6 Décimales dans SQL

Bonjour,

j’ai un cours d’un indice qui est à 2 décimales et je cherche à le convertir en 6 décimales. SQL doit me rajouter le nombre de 0 nécessaires pour que j’ai 6 décimales après le symbole de décimales, sachant que j’ai des cas où je n’ai qu’une seule décimale. (la plupart du temps 2 décimales, des fois 1 seule)

Merci d’avance

Quel est le type du champ SQL contenant les valeurs ?

Dans tes propriétés de ta table dans SQL server, il y a un champ précision numérique, est-ce cela ?

Oups… Désolé, je suis maintenant à la maison et je n’ai pas installé le VPN pour me connecter à distance.

Le format est 123.000000, c’est comme çà que doit être. Mais j’ai importé une table excel et j’ai beau mettre excel dans le bon format
avec le bon nombre de décimales, une fois importé dans SQL, cela apparait 123,23
Donc le point est devenu virgule et je n’ai que deux décimales voire même qu’une seule.

Et vous connaissez aussi la commande convert varchar?
Je cherche aussi à convertir le format de la date.
il est ‘14/10/2009’ il faudrait que cela devienne ‘2009-10-14’

Il est important, si tu veux une réponse pertinente d’indiquer de quel SGBR il s’agit (Oracle, pgSQL, MySQL, SQL Server, Office Access, OOo Base, etc.).
Une fois qu’on sait ceci, avoir 6 chiffres après la virgule est très simple.

  • MySQL : FLOAT(9,6)
  • Oracle : DECIMAL(9,6)
    (Dans cet exemple ton nombre ferait 9 chiffres au total, dont 6 après la virgule)

Ah, c’est de çà dont vous parlez… :D. J’ai fait du SQL sur Oracle avant d’en faire sur SQL 2005, mais je ne savais pas ce que c’était qu’un SGBR.
Je parle de SQL Server 2005
Je viens de trouver la solution: J’ai fait un clic droit sur la table, j’ai fait ‘design’ et j’ai mis mes cours en format (numeric 18,6), sauvegarde
Par contre, je dois encore modifier le format de la date
Le format d’origine est celui là: 2000-01-01 00:00:00.000
Et je souhaite obtenir: 20000101, donc sans les séparateurs.

Je sais qu’il y a une syntax du genre:

select convert (varchar 8 [MXEM Index_date] 20) from dbo.table

mais je ne sais pas où mettre les parenthèses. J’ai l’impression d’avoir tout essayé mais je suis en erreur quoiqu’il arrive.
J’ai regardé le design de la colonne, mais je ne vois pas comment définir le format de ce champ. J’ai ‘date’ et pleins d’autres choix qui à priori ne m’aident pas.

Attention la combinaire parenthèse 8 parenthèse affiche un smiley.
Merci
Edité le 15/10/2009 à 10:07

Tu dois utiliser le style 112 (yyyymmdd).
Ca donne ca:

Select CONVERT(varchar(8),MyDate,112) from mytest

Tu devrais jetter un oeil dans les Books Online, tu cherches apres CONVERT (ou CAST) et tu trouveras la liste complete des styles.
Edité le 15/10/2009 à 19:32