Função MySQL ISNULL

Resumo : Este tutorial apresenta a função ISNULL do MySQL e como usá-la para lidar com valores NULL.

Introdução à função MySQL ISNULL

A ISNULLfunção recebe um argumento e testa se esse argumento é NULLou não. A ISNULLfunção retorna 1 se o argumento for NULL, caso contrário, retorna 0.

O seguinte ilustra a sintaxe da ISNULLfunção:

ISNULL(expr)
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Considere os seguintes exemplos:

SELECT ISNULL(NULL); -- 1    
SELECT ISNULL(1);  -- 0
SELECT ISNULL(1 + NULL); -- 1;
SELECT ISNULL(1 / 0 ); -- 1;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Observe que se você estiver tentando encontrar uma alternativa do MySQL para  ISNULL a função do Microsoft SQL Server, você deve usar a função do MySQL  IFNULL . Porque a  ISNULL função MySQL é diferente da  ISNULL função do Microsoft SQL Server.

Função MySQL ISNULL e operador IS NULL

A ISNULLfunção compartilha alguns comportamentos com o IS NULLoperador. Por exemplo, se você tiver uma DATEcoluna declarada como NOT NULL, poderá encontrar a data especial '0000-00-00'usando a seguinte instrução:

SELECT 
    *
FROM
    table_name
WHERE
    ISNULL(date);
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Observe que o MySQL implementou esse recurso propositalmente para suportar aplicações ODBC porque ODBC não suporta valores de data especiais '0000-00-00'.

Vejamos um exemplo.

Primeiro, crie uma nova tabela com o seguinte nome special_isnull:

CREATE TABLE special_isnull (
    start_date DATE NOT NULL
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, insira alguns dados na special_isnulltabela:

INSERT INTO special_isnull(start_date) 
VALUES('2000-01-01'),
      ('0000-00-00');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, consulte os dados da special_isnulltabela usando a ISNULLfunção:

SELECT 
    *
FROM
    special_isnull
WHERE
    ISNULL(start_date); Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo de função ISNULL do MySQL

A consulta retornou uma linha, embora você esperasse que ela retornasse um conjunto de resultados vazio.

Quando você deseja negar o IS NULLoperador, você usa o NOToperador, ou seja IS NOT NULL,. No entanto, para a ISNULLfunção, você usa !ISNULL.

Neste tutorial, você aprendeu como usar a função MySQL ISNULL e seu comportamento especial para manipular NULLvalores.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *