sql >> Databáze >  >> RDS >> SQLite

nullvalue:Zobrazit hodnoty NULL v SQLite

Při použití rozhraní příkazového řádku (CLI) SQLite je ve výchozím nastavení vždy, když dotaz vrátí hodnotu null, výstupem prázdný řetězec ('' ).

Můžeme to změnit pomocí -nullvalue možnost příkazového řádku při spouštění SQLite.

Můžeme také použít .nullvalue tečka, pokud jsme již v SQLite CLI.

-nullvalue Možnost

Můžeme použít -nullvalue možnost při spouštění SQLite.

Zde je příklad:

sqlite3 -nullvalue null

V tomto případě, kdykoli narazím na hodnotu null, text null bude vráceno. Použil jsem null v tomto příkladu, ale může to být jakýkoli text.

Spuštění SQLite bez této možnosti by nastavilo -nullvalue na prázdný řetězec.

.nullvalue Příkaz tečka

Pokud již jsme v SQLite, nemusíme ukončit a znovu spouštět, abychom změnili naši nullvalue nastavení. Můžeme použít .nullvalue místo toho příkaz tečka

Příklad:

.nullvalue null

Aby bylo jasno, je potřeba to spustit z příkazového shellu SQLite (tj. poté, co jste již spustili SQLite).

Opět zde můžeme použít libovolný text k reprezentaci hodnot null.

Příklad

Nastavíme nullvalue při spouštění SQLite:

sqlite3 -nullvalue n/a

Nyní, kdykoli je vrácena hodnota null, řetězec n/a bude výstup.

Pojďme na to:

SELECT 1/0;

Výsledek:

+-----+
| 1/0 |
+-----+
| n/a |
+-----+

Vydělením čísla nulou se vrátí hodnota null. V našem případě dostaneme n/a , což je přesně podle očekávání.

Nyní změňme naši nullvalue nastavení:

.nullvalue null

A spusťte dotaz znovu:

SELECT 1/0;

Výsledek:

+------+
| 1/0  |
+------+
| null |
+------+

Nyní dostaneme řetězec null kdykoli je vrácena hodnota null.

Výchozí nastavení

Předpokládejme, že spustíme SQLite bez nastavení nullvalue :

sqlite3

Zde otevřeme terminál nebo příkazový řádek našeho počítače a zadáme příkaz pro spuštění SQLite (tj. sqlite3 ) bez zadání jakýchkoli možností.

Nyní, když spustíme dotaz, který vrací hodnotu null, dostaneme prázdný řetězec:

SELECT 1/0;

Výsledek:

+-----+
| 1/0 |
+-----+
|     |
+-----+

To je výchozí výsledek pro hodnoty null. To je to, co dostaneme, když nepoužijeme -nullvalue volba nebo .nullvalue příkaz tečka.


  1. PolyScale.ai – Škálování MySQL a PostgreSQL pomocí globálního ukládání do mezipaměti

  2. Jak pomáhá návrh databáze organizovat učitele, hodiny a studenty?

  3. Proč jsou hodnoty NULL na prvním místě při objednávání DESC v dotazu PostgreSQL?

  4. Přesunout data SQL z jedné tabulky do druhé