SQLite
 sql >> Database >  >> RDS >> SQLite

nullvalue:mostra i valori NULL in SQLite

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.