Bonjour,
J'ai remarqué une chose sur l'utilisation du CASE sous Firebird 2.5 sur une petite table de test et me demandais si c'était un bug ou un fonctionnement normal (et dans ce cas, pourquoi...).
IDE :
Delphi XE2, composants DbExpress
Table1 :
Champ1 : Varchar(15)
Champ2 : Integer
Je passe la requête suivante :
Les champs qui devraient être valorisés à 'ECHEC' prennent la valeur 'ECHEC ', visiblement parce que 'EN COURS' fait 8 caractères. Le problème ne se pose pas si j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Update Table1 Set Champ1 = Case When Champ2 < 3 then 'EN COURS' Else 'ECHEC' End Where Champ2 is not null;
Avez-vous une explication ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Else Cast('ECHEC' as Varchar(5))
Merci d'avance pour vos réponses.
Partager