IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Conversion de varchar en décimal


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut Conversion de varchar en décimal
    Bonjour,

    savez-vous comment le pourrais résoudre cette erreur :

    Error converting data type varchar to numeric.



    voici la requête SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DECLARE @VALUE varchar(255)
    SET @VALUE = '9,33398764064424E-02'
    SELECT CAST(REPLACE(@VALUE,'.',',') AS DECIMAL(18,5))

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonsoir,

    Utilisez le type de données FLOAT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE @VALUE varchar(255)
    SET @VALUE = '9,33398764064424E-02'
    SELECT CAST(REPLACE(@VALUE,',','.') AS FLOAT)
    ++

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Par défaut
    Merci

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour

    Je tombe sur ce post alors que je me demandais précisément s'il n'y avait pas une methode moins "barbare" qu'un replace pour specifier la culture d'un decimal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST(REPLACE(@VALUE,',','.') AS FLOAT)

  5. #5
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Sans aucune certitude : essaie SET LANGUAGE

    http://msdn.microsoft.com/en-us/library/ms174398.aspx

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour

    Pour info, j'ai souvent le problème inverse

    La requete donne des points parce que la DB est en cultue US et le coupper / coller vers xls donne des resultat bizare
    Voici une maniere de contourner ce problème en forcant la culture dans la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FORMAT(BB.buyvalue, N'N', 'fr-BE') AS buyvalue

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TSQL]Problème de conversion de varchar en float
    Par supertom dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 20/06/2008, 11h56
  2. Problème Conversion REAL --> VARCHAR
    Par YOYOVbSQL dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2006, 18h03
  3. Réponses: 19
    Dernier message: 29/01/2006, 01h49
  4. Conversion de varchar en float possible ?
    Par toyyo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 22/12/2005, 17h05
  5. Conversion fpu -> notation scientifique décimale
    Par Alucard_Math dans le forum Assembleur
    Réponses: 4
    Dernier message: 13/05/2004, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo