Insights que transformam sua carreira!

Receba soluções práticas, dicas que economizam tempo e insights exclusivos de programação que realmente funcionam. Junte-se a mais de 5.000 assinantes!

Diferenças entre IS NULL e COALESCE numa pesquisa SQL

Dê um salto na sua carreira de programação!

Receba soluções práticas, economize tempo com dicas eficazes e conquiste insights exclusivos para acelerar sua evolução na área de TI. Junte-se a mais de 5.000 desenvolvedores que já estão um passo à frente!

Quero me destacar agora!

Compartilhe:

A principal diferença de funcionalidade é que o COALESCE aceita n argumentos, retornando o primeiro com valor não NULL entre eles. O ISNULL só aceita dois argumentos, um possivelmente NULL, e outro para retornar se o primeiro for NULL.

Por exemplo, isto só dá para fazer com COALESCE:

SELECT COALESCE(col1, col2, col3, col4) AS valor;

Isso seleciona o primeiro valor que não seja nulo entre as quatro colunas passadas. É sempre bom lembrar que COALESCE faz parte do padrão da linguagem SQL, enquanto o ISNULL não faz.

LEIA TAMBÉM:

Outra diferença: o ISNULL retorna o tipo do seu primeiro argumento, enquanto o COALESCE retorna o tipo de maior precedência entre os passados.

Conta Exclusiva ChatGPT: Acesso Ilimitado

Desbloqueie o poder do ChatGPT com recursos premium. Aproveite 80,5% de desconto e garantia de 100% de satisfação. Junte-se hoje e viva a melhor experiência de chat com IA!

Cypress, do Zero à Nuvem: domine a automação de testes com confiabilidade e eficiência

Aprimore suas habilidades de automação de testes com Cypress, desde o início até a integração contínua.

Saiba Mais

💻 Torne-se um Desenvolvedor Fullstack!

Domine as tecnologias mais requisitadas do mercado e conquiste sua carreira dos sonhos como Desenvolvedor Fullstack. Inscreva-se hoje!

Inscreva-se

DICA: Quanto ao desempenho entre a duas, ISNULL é a melhor escolha em sub queries (sub consultas)

Vamos aos exemplos:

As principais diferenças entre eles incluem:

  1. COALESCE é padrão SQL-ANSI e ISNULL é implementação Microsoft (T-SQL). Estas diferenças entre as duas funções são bastante simples.
  2. COALESCE pode aceitar vários parâmetros, e ISNULL só pode aceitar dois parâmetros, o primeiro , que é o campo a ser verificado, e o segundo que será o valor que deverá inserir em um registro nulo.

No exemplo abaixo tanto faz usar COALESCE OU ISNULL, iremos ter o mesmo resultado. Para fins de demonstração criarei uma tabela temporária e irei inserir alguns registros nela, e logo em diante farei um select aonde irá pegar somente os registros não nulos das colunas “primeiro_email, e segundo email”.

CREATE TABLE #EMAIL
(
ID TINYINT IDENTITY,
PRIMEIRO_EMAIL VARCHAR (50) NULL,
SEGUNDO_EMAIL VARCHAR (50) NULL
)
GO
INSERT INTO #EMAIL VALUES ('j.vilar12@gmail.com', null)
INSERT INTO #EMAIL VALUES ('abc@gmail.com', null)
INSERT INTO #EMAIL VALUES ('def@hotmail.com', null)
INSERT INTO #EMAIL VALUES (null, 'tecnologia@gmail.com')
INSERT INTO #EMAIL VALUES (null, 'vilar@gmail.com')
INSERT INTO #EMAIL VALUES (null, 'abcdf@gmail.com')
INSERT INTO #EMAIL VALUES (null, '12345@hotmail.com')
INSERT INTO #EMAIL VALUES ('mariana@uol.com.br', null)

SELECT COALESCE (PRIMEIRO_EMAIL, SEGUNDO_EMAIL) AS EMAIL
FROM #EMAIL

Constrains com IS NULL

Constraints, que tem a capacidade de determinar as regras que as colunas de nossas tabelas terão. Antes de configurar o Constraints, vamos verificar todos os registros que tiverem observações nulas e vamos apagá-los. Queremos selecionar todas as observações que são nulas, são nulas, SÃO NULAS, IS NULL :

SELECT * FROM compras WHERE observacoes IS NULL;

+—-+——–+————+————-+———-+
| id | valor | data | observacoes | recebida |
+—-+——–+————+————-+———-+
| 47 | 150.00 | 2016-01-04 | NULL | 1 |
+—-+——–+————+————-+———-+
1 row in set (0,00 sec)

Vamos excluir todas as compras que tenham as observações nulas:

DELETE FROM compras WHERE observacoes IS NULL;
Query OK, 1 row affected (0,01 sec)

LEIA TAMBÉM: 21 comandos SQL essenciais para programadores e BI

Curso Banco de Dados

Gostou deste conteúdo?

Assine o E-Zine Ramos da Informática e receba semanalmente conteúdos exclusivos focados em desenvolvimento frontend, backend e bancos de dados para turbinar sua carreira tech.

📘 Conteúdo Exclusivo

Dicas, insights e guias práticos para alavancar suas habilidades em desenvolvimento e bancos de dados.

🚀 Hacks de Carreira

Ferramentas, atalhos e estratégias para se destacar e crescer rapidamente no mercado de tecnologia.

🌟 Tendências Tech

As novidades mais relevantes sobre desenvolvimento web, mobile e bancos de dados para você se manter atualizado.

Já somos mais de 5.000 assinantes! Junte-se a uma comunidade de profissionais que compartilham conhecimento e crescem juntos no universo tech.

Quero Assinar Agora

Compartilhe:

Ramos da Informática
Ramos da Informáticahttps://ramosdainformatica.com.br
Ramos da Informática é um hub de comunidade sobre linguagens de programação, banco de dados, DevOps, Internet das Coisas, tecnologia da indústria 4.0, Cyber Segurança e Startups.

RECENTES

ArcGIS Maps JavaScript: Novidades da Versão 4.32

O ArcGIS, desenvolvido pela Esri, é uma plataforma líder...

O Novo Ramos da Informática: Menos Ruído, Mais Valor

O jogo mudou. A maneira de buscar conhecimento e...

Mais de 1 milhão de vagas em cursos e oportunidades de emprego

A Ramos da Informática trouxe um compilado de diversas...

Hackathon com premiação de US$150 mil no estádio do PSG

A Chiliz, empresa de tecnologia blockchain para esportes e entretenimento,...

Destaques do Git 2.48

O projeto Git de código aberto acaba de lançar...
Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

E-Zine Ramos da Informática

Conteúdo focado em desenvolvimeto backend, frontend, banco de dados e novas tecnologias. 


📧 Não perca tempo! Assine grátis agora mesmo e leve sua carreira ao próximo nível.

Dê um salto na sua carreira de programação!

Receba soluções práticas, economize tempo com dicas eficazes e conquiste insights exclusivos para acelerar sua evolução na área de TI. Junte-se a mais de 5.000 desenvolvedores que já estão um passo à frente!