SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

nullvalue:Mostrar valores NULL no SQLite


Ao usar a interface de linha de comando SQLite (CLI), por padrão, sempre que uma consulta retornar um valor nulo, a saída será a string vazia ('' ).

Podemos mudar isso usando o -nullvalue opção de linha de comando ao iniciar o SQLite.

Também podemos usar o .nullvalue dot se já estivermos na CLI do SQLite.

O -nullvalue Opção


Podemos usar o -nullvalue opção ao iniciar o SQLite.

Aqui está um exemplo:
sqlite3 -nullvalue null

Nesse caso, sempre que encontro um valor nulo, o texto null será retornado. Eu usei null neste exemplo, mas pode ser qualquer texto.

Iniciar o SQLite sem essa opção definiria -nullvalue para a cadeia vazia.

O .nullvalue Comando de ponto


Se já estivermos no SQLite, não precisamos sair e reiniciar para alterar nosso nullvalue definições. Podemos usar o .nullvalue comando de ponto em vez disso

Exemplo:
.nullvalue null

Só para ficar claro, isso precisa ser executado de dentro do shell de comando SQLite (ou seja, depois que você já iniciou o SQLite).

Novamente, podemos usar qualquer texto aqui para representar valores nulos.

Exemplo


Vamos definir nullvalue ao iniciar o SQLite:
sqlite3 -nullvalue n/a

Agora, sempre que um valor nulo é retornado, a string n/a será saída.

Vamos fazer isso:
SELECT 1/0;

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

Dividir um número por zero retorna um valor nulo. No nosso caso, obtemos n/a , que é exatamente como esperado.

Agora vamos alterar nosso nullvalue definições:
.nullvalue null

E execute a consulta novamente:
SELECT 1/0;

Resultado:
+------+
| 1/0  |
+------+
| null |
+------+

Agora obtemos a string null sempre que um valor nulo é retornado.

A configuração padrão


Suponha que iniciemos o SQLite sem definir nullvalue :
sqlite3

Aqui, abrimos o terminal ou prompt de comando do nosso computador e inserimos o comando para iniciar o SQLite (ou seja, sqlite3 ) sem especificar nenhuma opção.

Agora, quando executamos uma consulta que retorna um valor nulo, obtemos a string vazia:
SELECT 1/0;

Resultado:
+-----+
| 1/0 |
+-----+
|     |
+-----+

Esse é o resultado padrão para valores nulos. É o que obtemos quando não usamos o -nullvalue opção ou .nullvalue comando ponto.