Conversion implicite de données VARCHAR > INT [Résolu]

o06 10 Messages postés lundi 4 août 2008Date d'inscription 21 mai 2010 Dernière intervention - 3 mars 2010 à 12:10 - Dernière réponse : o06 10 Messages postés lundi 4 août 2008Date d'inscription 21 mai 2010 Dernière intervention
- 3 mars 2010 à 15:09
Bonjour le forum,

j'ai un souci avec les types de données.
D'après la doc SQL la conversion du type VARCHAR vers INT se fait de manière implicite. Si j'ai bien compris sans avoir besoin d'utiliser les fonction CAST ou bien CONVERT.
Malgré tout j'ai un msg d'erreur de conversion dans une de mes requêtes.

J'ai des valeurs de type nombre comme 38/40/42 etc. et des valeurs de type chaine S/L/M (des tailles en fait)

SUM(CASE WHEN dbo.F_ARTGAMME.EG_Enumere = 38 THEN dbo.F_GAMSTOCK.GS_QteSto ELSE 0 END) AS [38],


Je n'arrive pas à décliner la syntaxe ci dessus pour une valeur chaine (texte, string, ....)pour dbo.F_ARTGAMME.EG_Enumere avec S par ex. J'ai essayé à peu prés toutes les options de syntaxe à mon niveau, écumer forums et blogs, rien à faire j'ai le msg d'erreur récurrent :
[b]Serveur : Msg 245, Niveau 16, État 1, Ligne 1
Erreur de syntaxe lors de la conversion de la valeur varchar 'S' vers une colonne de type de données int./b

Une piste pour m'aider ?
Un grand merci d'avance.
Afficher la suite 

1 réponse

Répondre au sujet
o06 10 Messages postés lundi 4 août 2008Date d'inscription 21 mai 2010 Dernière intervention - 3 mars 2010 à 15:09
+3
Utile
Re,

Finalement trouvé la bonne syntaxe.
Je le mets ça pourra peut être servir à d'autres jeunes "Padawan".

.../...
SUM(CASE WHEN dbo.F_ARTGAMME.EG_Enumere IN ('s') THEN dbo.F_GAMSTOCK.GS_QteSto ELSE 0 END) AS ['s'], 
SUM(CASE WHEN dbo.F_ARTGAMME.EG_Enumere IN('38') THEN dbo.F_GAMSTOCK.GS_QteSto ELSE 0 END) AS ['38'],
.../...


Comme cela plus besoin de se soucier du type de donnée.

A+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de o06

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.