Bonjour,
Je travaille sur une application existante et dans une des requêtes je trouve un truc de ce style :
Je ne comprend pas à quoi cela sert :?:Code:decode ('HT', 'HT',0,'TTC',SUM (champs))
ça renvoie toujours 0 non ???
Version imprimable
Bonjour,
Je travaille sur une application existante et dans une des requêtes je trouve un truc de ce style :
Je ne comprend pas à quoi cela sert :?:Code:decode ('HT', 'HT',0,'TTC',SUM (champs))
ça renvoie toujours 0 non ???
Salut, pou rdecode, tu trouveras une explication ici.
Pour moi, je lis ça comme ça :
A mon avis, il y a une erreur, la personne a voulu ecrire un truc du genre :Code:
1
2
3
4
5 Si 'HT' = 'HT Alors 0; Si 'HT' = 'TTC' Alors sum(champs)
Enfin, difficile de savoir.Code:decode (type_montant, 'HT',0,'TTC',SUM (champs))
Bon courage
a+
Decode() marche par pairs
decode ('HT', 'HT',0,'TTC',SUM (champs))
ici l'on pourrait lire : dans le champs HT si la valeur est 'HT' alors -> 0, si la valeur est 'TTC' alors sum(champs)
en fin de pairs, on peut également trouver une valeur par défaut si aucune des pairs précédentes ne correspond.
Avec l'indentation de l'exemple suivant, on comprend mieux le mécanisme
Code:
1
2
3
4
5
6
7
8 SELECT product_id, DECODE (warehouse_id, 1, 'Southlake', 2, 'San Francisco', 3, 'New Jersey', 4, 'Seattle', 'Non-domestic') "Location of inventory" FROM inventories WHERE product_id < 1775;
Je le comprend comme toi, c'est bien pour cela que ça m'intrigue...Je ne pense que cela soit une erreur puisque c'est repeté plusieurs fois...
As-tu un champ de ta table qui s'appelle HT ?
Dans ce cas, (SheikYerbouti pourra sûrement mieux répondre que moi), faut-il enlever les quotes autour du 1° HT ou cela peut-il marcher comme ça ?
a+
Effectivement le premier arguement devrait être un nom de champ.
le fait que vous obteniez systématiquement 0 est donc logique.
sûrement un code dynamiquement généré par un programmeur java de 3e classe...Citation:
Envoyé par nad
Je ne sais pas si c'était un développeur de 3ème classe mais effectivement c'est un code généré dynamiquement. :wink:Citation:
Envoyé par laurentschneider
Merci pour votre aide. J'avais bien compris la fonction decode 8) et c'est bien la requete qui est bizarre :roll: