Domande frequenti - Base
TDF LibreOffice Document Liberation Project Blog comunitari Weblate Nextcloud Redmine Ask LibreOffice Donazione
Come gestisco i campi vuoti (null)?
Calcoli sui campi
In LibreOffice vengono sempre proposti valori null, tranne quando un calcolo viene eseguito su un campo null. Il risultato di una tale espressione è sempre "Null".
Ad esempio, in un operazione come:
"Totale" - "Acconto"
darà il risultato "Null" se uno dei campi non è stato inserito. La soluzione consiste nell'utilizzare una funzione che verifica se i campi contengono dati o meno. Tra le funzioni disponibili IFNULL 'viene spesso utilizzato. La sua sintassi è
IFNULL(espressione, valore)
Se lespressione è Null', viene restituito il valore, altrimenti viene restituito il valore dellespressione.
Per esempio, IFNULL viene utilizzato per restituire zero quando il campo è vuoto.
Il comando SQL è
SELECT "ID", "Acompte", "Totale", "Totale" - "Acconto", IFNULL( "Totale", 0 ) - IFNULL( "Acconto", 0 ) FROM "Tabella1"
Selezione di righe con valori nulli
Selezione di righe contenenti campi vuoti.
- Il criterio di selezione da utilizzare in modalità struttura è:
IS EMPTY
- Il criterio di selezione in modalità SQL è
IS NULL
- Per l'esempio sopra
Note
- In modalità struttura è anche possibile inserire il criterio IS NULL. Dopo la convalida verrà automaticamente sostituito da IS EMPTY
- In modalità SQL è valida solo la sintassi IS NULL
SELECT "ID", "Acconto", "Totale" FROM "Tabella1" WHERE "Acconto" IS NULL
Gestione dei campi booleani
- La selezione di righe con campi booleani non compilati utilizza lo stesso criterio, IS EMPTY.
- Va notato che un campo booleano può avere tre "stati": selezionato, deselezionato e vuoto.
I due ultimi stati non sono equivalenti: deselezionato = FALSO (falso o 0) e vuoto = indeterminato/non specificato.
- LibreOffice mostra questi diversi stati come segue: deselezionato = vuoto, non riempito = colore di sfondo
- IS EMPTY indica casi non compilati (non inseriti)
- FALSE indica deselezionato (il valore è falso o 0)
- TRUE indica selezionato (il valore è vero o 1)