Quando si utilizza l'interfaccia a riga di comando (CLI) di SQLite, per impostazione predefinita, ogni volta che una query restituisce un valore null, l'output è una stringa vuota ('' ).
Possiamo cambiarlo usando il -nullvalue opzione della riga di comando all'avvio di SQLite.
Possiamo anche usare il .nullvalue dot comando se siamo già nella CLI di SQLite.
Il -nullvalue Opzione
Possiamo usare il -nullvalue opzione all'avvio di SQLite.
Ecco un esempio:
sqlite3 -nullvalue null
In questo caso, ogni volta che incontro un valore null, il testo null sarà restituito. Ho usato null in questo esempio, ma potrebbe trattarsi di qualsiasi testo.
L'avvio di SQLite senza quell'opzione avrebbe impostato -nullvalue alla stringa vuota.
Il .nullvalue Comando punto
Se siamo già in SQLite, non è necessario uscire e riavviare per modificare il nostro nullvalue impostazioni. Possiamo usare il .nullvalue comando punto invece
Esempio:
.nullvalue null Per essere chiari, è necessario eseguirlo dalla shell dei comandi di SQLite (ovvero dopo aver già avviato SQLite).
Anche in questo caso, possiamo usare qualsiasi testo qui per rappresentare valori nulli.
Esempio
Impostiamo nullvalue durante l'avvio di SQLite:
sqlite3 -nullvalue n/a
Ora, ogni volta che viene restituito un valore nullo, la stringa n/a verrà emesso.
Facciamolo:
SELECT 1/0; Risultato:
+-----+ | 1/0 | +-----+ | n/a | +-----+
La divisione di un numero per zero restituisce un valore nullo. Nel nostro caso, otteniamo n/a , che è esattamente come previsto.
Ora cambiamo il nostro nullvalue impostazioni:
.nullvalue null Ed esegui di nuovo la query:
SELECT 1/0; Risultato:
+------+ | 1/0 | +------+ | null | +------+
Ora otteniamo la stringa null ogni volta che viene restituito un valore nullo.
L'impostazione predefinita
Supponiamo di avviare SQLite senza impostare nullvalue :
sqlite3
Qui apriamo il terminale del nostro computer o il prompt dei comandi e inseriamo il comando per avviare SQLite (ad esempio sqlite3 ) senza specificare alcuna opzione.
Ora, quando eseguiamo una query che restituisce un valore nullo, otteniamo la stringa vuota:
SELECT 1/0; Risultato:
+-----+ | 1/0 | +-----+ | | +-----+
Questo è il risultato predefinito per i valori nulli. È ciò che otteniamo quando non utilizziamo il -nullvalue opzione o .nullvalue comando punto.