Bonsoir,
En tout cas, j'en déduis que c'est un fonctionnement normal...pas
évident au niveau logique. En fait c'est un peu comme pour le Chat de
Schrödinger, une valeur null c'est indéterminé et on ne peut donc pas
affirmer que c'est différent de vrai.
Merci pour toutes ces suggestions, je vais creuser.
Le 27/03/2024 à 23:14, yves dutrieux a écrit :
Re,
en relisant mon message, je suppose que tu avais corrigé, il faut lire :
as "Faux" au lieu de as "Vrai" dans mon exemple de l'union ;)
Yves
Le mer. 27 mars 2024 à 20:07, yves dutrieux <[email protected]> a
écrit :
Bonsoir,
dans une requête sur une base de données, le champs nul c'est
traître ! (je préfère toujours utiliser une valeur par défaut (ou
alors utiliser un champs numérique avec 0/1/2 pour respectivement
false/true/nul par exemple).
car la seule façon de le retrouver, c'est d'utiliser la condition
"is nul" ou "is not nul"
Donc si tu souhaites <> "True" + les nuls , tu dois utiliser la
condition "champ" is null or "champ" = False et indiquer une
valeur bidon dans ton champs si tu le sélectionnes dans le
résultat de ta requête (car afficher un nul c'est pas évident ;) ).
ex:
select champs1, champs2, monchoixboleen as "fauxounul" where
"champboleen" = False or "champboleen" is nul
nb: dans la condition ci-dessus, je ne sais plus si on doit
indiquer IS False ou = False (perso j'utilise en général, =0 pour
False et =1 pour True).
Si tu veux vraiment séparer les 2 possibilités, en SQL pur,
j'aurais dit une d'utiliser une UNION (mais je sais pas si
writer/base supporte) , ex :
ex:
select champs1, champs2, monchoixboleen as "Vrai" where
"champboleen" = False
union
select champs1, champs2, monchoixboleen as "Nul" where
"champboleen" is nul
si pas de support union, alors peut-être qu'il supporte une
fonction du style 'case "chamboleen" when' ? ou qq chose du genre.
Yves
Le mer. 27 mars 2024 à 19:34, Moebius <[email protected]> a écrit :
Bonjour,
J'ai un problème dans une requête sur des champs de type
booléen dont je
ne sais s'il s'agit d'un bug ou d'un comportement normal :
quand je
donne comme filtre 'champ <> TRUE', j'obtiens les
enregistrements avec
'champ' ayant false pour valeur mais pas ceux qui sont 'NULL'
; il me
semble pourtant qu'un champ ayant la valeur NULL peut être
considéré
comme différent de TRUE, n'est-il point ?
Qu'en pensez-vous ?
cordialement,
--
Envoyez un mail à [email protected]
<mailto:users%[email protected]> pour vous
désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
--
web site : http://www.molenbaix.com
--
web site : http://www.molenbaix.com
--
Envoyez un mail à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy