Faq/Base/125

    From The Document Foundation Wiki
    < Faq‎ | Base
    This page is a translated version of the page Faq/Base/125 and the translation is 100% complete.
    Other languages:


    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 eerste berekening loopt fout het wordt null (verkeerd getoond) bij rij "1" omdat "Acompte" geen waarde heeft

    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

    Selecteren rijen met lege waarden


    Note pin.svg

    NB:

    1. In draft mode kun je het criterium IS NULL gebruiken. Na validatie wordt het vervangen door IS EMPTY
    2. In SQL mode is alleen de syntaxis IS NULL is geldig


    SELECT "ID", "Acompte", "Total" FROM "Table1" WHERE "Acompte" IS NULL


    Beheren boolean velden

    De mogelijke waarden van 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)