Faq/Base/125
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Hoe kan ik omgaan met lege (null) velden?
Berekeningen op velden
In LibreOffice worden nulls altijd doorgegeven,behalve als er een berekening wordt gedaan op een veld met de waarde NULL. Het resultaat van een dergelijke expressie is altijd Null.
Voorbeeld, in operatie als:
"Total" - "Account"
geeft het resultaat Null als een van de waarden niet is ingevoerd. De oplossing is om een functie te gebruiken die test of het veld gegevens bevat of niet. Hiervoor wordt vaak de functie IFNULL gebruikt. De syntaxis is:
IFNULL(exp, value)
ALs exp is Null, wordt value teruggegeven en anders de waarde van exp.
In dit voorbeeld wordt IFNULL gebuikt om 0 terug te geven, als het veld leeg is.
De SQL-opdracht is
SELECT "ID", "Acompte", "Total", "Total" - "Acompte", IFNULL( "Total", 0 ) - IFNULL( "Acompte", 0 ) FROM "Table1"
Selecteren rijen met null waarden
Het selecteren van rijen met lege velden.
- In draft mode:
IS EMPTY
- In SQL mode:
IS NULL
- In bovenstaand voorbeeld
SELECT "ID", "Acompte", "Total" FROM "Table1" WHERE "Acompte" IS NULL
Beheren boolean velden
- Het selecteren van rijen met lege boolean velden gebruikt hetzelfde criterium, IS EMPTY.
- Een boolean veld kan dus drie waarden hebben: checked, unchecked en empty.
De laatste twee zijn niet gelijk: niet aangevinkt is FALSE (of 0) en empty = onbepaald.
- LibreOffice toont de waarden als volgt: unchecked = blank, unfilled = achtergrondkleur
- IS EMPTY selecteert niet ingevulde waarden
- FALSE selecteert unchecked (false of 0)
- TRUE selecteert checked (true of 1)