É uma função interna do SQL Server. Ele permite que o usuário substitua os valores NULL com um determinado valor de substituição. Este artigo fornece uma visão geral completa da função ISNULL para retornar um valor alternativo se a expressão ou os registros da tabela tiverem valores NULL.
Sintaxe
A seguir está uma sintaxe que ilustra a função ISNULL:
ISNULL ( Expression, Replacement )
Como podemos ver que esta sintaxe aceita apenas dois argumentos:
Se a expressão for avaliada como NULL, esta função substituirá o valor NULL pelo valor de substituição. Quando o argumento é tipos de dados são diferentes , o servidor SQL transforma implicitamente o tipo de dados de valor de substituição no tipo de dados de expressão antes de retornar um valor. Obteremos o valor da expressão quando a expressão não for NULL.
A função ISNULL pode funcionar no SQL Server (a partir de 2008), Parallel Data Warehouse, Banco de Dados SQL do Azure e Azure SQL Data Warehouse.
Exemplo de função ISNULL
Vamos explorar a função ISNULL com alguns exemplos no SQL Server.
java concatenando strings
1. Função ISNULL com o valor numérico
O exemplo abaixo usa a função ISNULL. Aqui o primeiro argumento é NULL; portanto, retorna o valor de um segundo argumento em um resultado:
o que é uri
SELECT ISNULL(NULL, 25) AS Result;
Após a execução, obteremos a saída abaixo:
2. Função ISNULL com dados de cadeia de caracteres
O exemplo abaixo usa a função ISNULL. Aqui obteremos o valor da string 'Olá' porque é o primeiro argumento. A partir da definição da função ISNULL(), ela retorna o valor do primeiro argumento quando NÃO é NULL:
SELECT ISNULL('Hello', 'Javatpoint') AS Result;
Após a execução, obteremos a saída abaixo:
3. Função ISNULL com variáveis
O exemplo abaixo usa a função ISNULL e retorna o resultado usando uma variável:
DECLARE @expres VARCHAR(45); DECLARE @value VARCHAR(25); SET @expres = NULL; SET @value = 'Javatpoint'; SELECT ISNULL(@expres, @value) AS Result;
Após a execução, obteremos a saída abaixo:
4. Função ISNULL na tabela
Aqui veremos como podemos substituir um valor de coluna por um valor significativo quando ele contém valores nulos. Vamos primeiro criar uma tabela chamada ' Funcionário' usando a declaração abaixo:
CREATE TABLE Employee (ID INT IDENTITY PRIMARY KEY, Emp_Name VARCHAR(50) NOT NULL, Age INT NULL, Salary INT NULL );
Agora, iremos inserir alguns valores nesta tabela usando a instrução abaixo:
INSERT INTO Employee (Emp_Name, Age, Salary) VALUES ('Kevin Huges', 28, 45000), ('Rose Bennet', NULL, 36000), ('Peter Butler', 25, NULL);
Quando verificamos a tabela, podemos ver que funcionários 2 e 3 têm NULL valor.
Suponha que queiramos substituir os valores NULL dessas colunas sem atualizá-los permanentemente na tabela. Nesse caso, podemos usar a função ISNULL para substituir os valores NULL pelo valor específico.
Por exemplo , queremos devolver o idade e salário do funcionário com 22 e 25.000, respectivamente, se suas colunas possuírem valores NULL na tabela Funcionários. Podemos fazer isso usando a seguinte afirmação:
comprimento da string java
SELECT ID, Emp_Name, ISNULL(Age, 22) AS Age, ISNULL(Salary, 25000) AS Salary FROM Employee;
Após a execução, obteremos a saída abaixo:
Se executarmos a consulta com a função ISNULL para a coluna onde nenhuma coluna possui valores NULL na tabela, esta consulta retornará os valores reais das linhas.
Por exemplo , atualizamos o salário do funcionário cujo ID=2 do seguinte modo:
UPDATE Employee SET Salary = 65000 WHERE ID=2;
Novamente, se executarmos a função ISNULL, isso não altera a coluna salário. Veja a saída abaixo:
5. ISNULL com funções agregadas
O SQL Server também nos permite usar funções agregadas como SUM, AVG com a função ISNULL. Suponha que precisemos obter o soma de um salário coluna presente na tabela Employee, e se alguma coluna de salário tiver NULL, será substituída por 25000 antes de adicionar os salários.
Antes de realizar os métodos agregados, atualizaremos o salário do funcionário com NULL cujo id é 2, utilizando a consulta abaixo.
UPDATE Employee SET Salary = NULL WHERE ID=2;
O exemplo abaixo primeiro substitui o valor NULL por 25000 e, em seguida, executa a função SUM nele. Veja a saída abaixo:
como recuperar aplicativos ocultos
SELECT SUM(ISNULL(Salary, 25000)) AS Sum_of_Salaries FROM Employee;
Após a execução, obteremos a saída abaixo:
Da mesma forma, a função ISNULL pode ser usada para substituir valores NULL e então retornar o valor médio com Função AVG() . Veja a declaração abaixo:
SELECT AVG(ISNULL(Salary, 25000)) AS Avg_of_Salaries FROM Employee;
Após a execução, obteremos a saída abaixo:
Diferença entre SQL Server ISNULL e IS NULL
As funções ISNULL e IS NULL são diferentes no SQL Server. Usamos a função ISNULL quando precisamos substitua os valores NULL com um valor especificado. Por outro lado, usamos a função IS NULL quando queremos identificar valores NULL em uma mesa.
Vejamos o exemplo abaixo para ilustrar suas diferenças .
por que string imutável em java
Suponha que queiramos obter os dados dos funcionários do ' Funcionário' tabela que contém valores NULL na coluna Salário. Para obter este tipo de informação, devemos usar a função IS NULL no ONDE cláusula da seguinte forma:
SELECT * FROM Employee WHERE Salary IS NULL;
Ele retornará o detalhe do funcionário cujo salário é NULO:
Agora, se tentarmos obter este tipo de informação com a função ISNULL, o SQL Server através do seguinte erro :
SELECT * FROM Employee WHERE Salary ISNULL(NULL, 0;
Aqui está o erro:
Assim, fica claro que o SQL Server não nos permite usar ISNULL para encontrar valores NULL.