Bonjour,
j'ai une base et des données que je ne gère pas, mais que j'utilise. Une colonne au format double me pose problème. Exemple :
db2 => select x from mytable
X
------------------------
+1,00000000000000E-001
+1,00000000000000E-001
+1,00000000000000E-001
+1,00000000000000E-001
4 record(s) selected.
db2 => select case x when 0.1 then 'O' else 'N' end from mytable
1
-
N
N
O
O
Le SELECT me donne la même valeur 0.1 pour toutes les lignes. Mais le CASE indique le contraire. Que les valeurs ne soient pas "exactement " 0.1, je veux bien, mais le SELECT ne devrait-il pas alors afficher quelque chose du genre +9,999999999999E-002 ?
Je lis les données depuis un programme C qui semble alors tomber dans le même travers : une comparaison indique que seules 2 données sont à 0,1 mais quand je les affiche par printf('%g") elles sont toutes à 0,1 !
Du coup, je n'arrive pas à exploiter correctement cette donnée. Une explication ? Une idée de la manière de les lire ? Merci bien.
Merci de cette réponse rapide, c'est ce que je craignais.
Pas joli (désolé), pas pratique à maintenir (si j'ai d'autres bornes comme ce 0.1), mais je viens de la mettre en place, ça semble fonctionner.
Je prends.
Pas joli (désolé), pas pratique à maintenir (si j'ai d'autres bornes comme ce 0.1), mais je viens de la mettre en place, ça semble fonctionner.
Je prends.