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 :

consersion de type char en float


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 27
    Points : 14
    Points
    14
    Par défaut consersion de type char en float
    bjr a tous
    j'ai un champs (VLG_TVA) de type char dans une base de donné sqlserveur
    je veux faire la convertir en type float
    mé il me donne cet erreur 'erreur de convertision du type de données varchar en float '

    voila la requete :
    select convert(Float,[VLG_TVA])
    from VTE_LIGNE

    et j'ai essayé aussi

    select cast(VLG_TVA as float)
    from VTE_LIGNE

    aide_moi svp et merci

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Il s'agit d'une valeur de votre colonne qui ne doit pas pouvoir être transtypée en FLOAT .
    Si les valeurs de votre colonne ressemblent à 1.23456789 le transtypage de la colonne va fonctionner.
    Vous pouvez vous aider de la fonction ISNUMERIC() pour trouver les valeurs qui ne sont pas numériques, mais sachez que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ISNUMERIC('1,23456789')
    retourne 1, alors que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST('1,23456789' AS FLOAT)
    provoque l'erreur :

    Msg*8114, Niveau*16, État*5, Ligne*1
    Erreur de conversion du type de données varchar en float.
    Vous pouvez remplacer toutes les virgules de cette colonne en exécutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE maTable
    SET maColonne = REPLACE(maColonne, ',', '.')
    @++

Discussions similaires

  1. type d'un char* ? int, float .... ?
    Par stitch dans le forum C
    Réponses: 5
    Dernier message: 08/03/2006, 16h27
  2. concaténation de char et float
    Par gup dans le forum C
    Réponses: 11
    Dernier message: 31/12/2005, 00h15
  3. concaténer un type char à une chaine
    Par Fabs dans le forum C
    Réponses: 8
    Dernier message: 11/11/2005, 15h21
  4. Array subscript has type 'char'
    Par obelix dans le forum C
    Réponses: 11
    Dernier message: 31/10/2005, 18h21
  5. [CONSERSION CHAINE TYPE DOS]
    Par Barbibulle dans le forum Langage
    Réponses: 2
    Dernier message: 24/11/2002, 14h19

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