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 :

[TSQL] Probleme de cast dans un case


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [TSQL] Probleme de cast dans un case
    Bonjour,

    Voici ma requete :
    SELECT DISTINCT I.TypeExpedition, '', L.Licencie, L.nom, L.CodeSAP,
    ND.Type_location, A.Connexion, A.Diametre_txt as Diametre,
    A.Extremite, CASE A.weight_lbft_min WHEN -1 THEN 'ALL' ELSE A.weight_lbft_min END as weight, A.thickness_inch_min as thickness, '', '', ND.Prix_Jour,
    cast(datepart(dd,ND.Date_Debut)as varchar)+ char(47)+
    cast(datepart(mm,ND.Date_Debut)as varchar)+ char(47)+
    cast(datepart(yy,ND.Date_Debut) as varchar) As Date_Expe, ND.Nbre_Jour_Facture,
    cast(datepart(dd,ND.Date_Debut)as varchar)+ char(47)+
    cast(datepart(mm,ND.Date_Debut)as varchar)+ char(47)+
    cast(datepart(yy,ND.Date_Debut) as varchar) As Debut_Loc,
    cast(datepart(dd,ND.Date_Fin)as varchar)+ char(47)+
    cast(datepart(mm,ND.Date_Fin)as varchar)+ char(47)+
    cast(datepart(yy,ND.Date_Fin) as varchar) As Date_Fin,
    ND.Montant_Aller + ND.Montant_Retour as Transport,
    ND.Montant_Administratif, ND.Montant_Total, ND.Montant_Total as Montant_HT, '',
    ND.Montant_Total as Montant_TTC, cast(datepart(dd,ND.Date_Commande)as varchar)+ char(47)+
    cast(datepart(mm,ND.Date_Commande)as varchar)+ char(47)+
    cast(datepart(yy,ND.Date_Commande) as varchar) As Date_Commande,
    cast(datepart(dd,M.Date_envoie)as varchar)+ char(47)+
    cast(datepart(mm,M.Date_envoie)as varchar)+ char(47)+
    cast(datepart(yy,M.Date_envoie) as varchar) As DateRep
    FROM GDC_IMPRESSION I INNER JOIN GDC_LICENCIE L ON L.Licencie = I.Licencie
    INNER JOIN GDC_NOTE_DEBIT ND ON ND.Licencie = L.Licencie
    INNER JOIN GDC_APPLICATION A ON A.id_jeux = ND.Num_Jeu
    INNER JOIN GDC_MAIL M ON I.num_affaire = M.num_affaire
    WHERE ND.Date_Debut >= 01/01/2006 AND ND.Date_Fin >= 31/12/2006

    voici le message d'erreur sur sql-serveur 2000 :
    Serveur : Msg 8114, Niveau 16, État 5, Ligne 1
    Error converting data type varchar to float.

    Le problème se situe au niveau du case en effet mon champs weight retourne un float et j'aimerai que quand il soit egal à -1 il me retourne ALL comment puis je faire?

    Merci d'avance
    GrandNico

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ELSE A.weight_lbft_min
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ELSE CONVERT(VARCHAR(10),A.weight_lbft_min)
    Résultat non garanti. A tester

    L'inconvénient c'est que du coup, ton select va retourner des varchar au lieu de flaot et que plus loin dans ton code, il faudra vraisembalblement faire la transfo inverse, à savoir faire un CONVERT(float, ...) pour les données <>'ALL'

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Tester, ca fonctionne
    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/02/2012, 20h51
  2. Probleme dans mes Case
    Par Be Cool dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/05/2008, 09h03
  3. probleme de if dans un case
    Par dams78 dans le forum Linux
    Réponses: 3
    Dernier message: 21/11/2007, 22h51
  4. Probleme d'éffacement dans le cookie
    Par Geulderack dans le forum XMLRAD
    Réponses: 6
    Dernier message: 02/04/2003, 14h17
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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