SQL COALESCE(): Como determinar valores não NULL
A função SQL COALESCE() é utilizada para determinar o primeiro valor dentro de uma lista que não é NULL. Assim, a função é uma versão simplificada de uma instrução CASE
correspondente.
O que é a função SQL COALESCE()?
A palavra-chave NULL em SQL representa dados que não possuem valor. Esse caso ocorre, por exemplo, quando ainda você não conhece um valor específico em uma tabela e, portanto, não preenche o campo correspondente. Isso não significa necessariamente que o campo correspondente não tem valor, mas pode simplesmente significar que você não sabe qual é o valor. Embora esses valores NULL não sejam prejudiciais à primeira vista, se acumularem em um banco de dados, podem torná-lo confuso. A função SQL COALESCE() é usada para retornar o primeiro valor em uma lista que não é NULL.
Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.
- Armazenamento 100% SSD
- Pronto em 55 segundos
- Certificado SSL
Sintaxe e requisitos de SQL COALESCE()
A sintaxe de SQL COALESCE() é bem simples. Ela é apresentada da seguinte forma:
Você precisa de pelo menos dois argumentos. Se todos os argumentos tiverem o valor NULL, o resultado também será NULL.
Exemplo de uso de SQL COALESCE()
Você pode rapidamente entender o funcionamento básico por meio de um exemplo simples. No código a seguir, inserimos vários argumentos e usamos o comando SQL SELECT para verificá-los.
A saída neste caso será “17”, pois este é o primeiro valor que não é NULL.
Combinar SQL COALESCE()
A função COALESCE()
é muito mais útil quando combinada com outras operações. Para ilustrar, imaginemos uma tabela chamada “Funcionários”. Esta tabela contém as colunas “Nome”, “Localidade” e “Data de Nascimento”. Ela se parece com isso:
Nome | Localidade | Data de Nascimento |
---|---|---|
Pedro Moura | Cascavel | 10.04.1967 |
Sabrina Souza | Cascavel | 27.07.1989 |
Sebastião Ferreira | Caldas Novas | |
Martin Becker | Cascavel | 14.04.2001 |
Sarah Bernardes | 02.12.2005 |
Dois dos registros não estão preenchidos. Embora Sebastião Ferreira tenha uma data de nascimento e Sarah Bernardes tenha um local de residência, essas informações não são conhecidas no momento. Para identificar isso, a função SQL COALESCE() é útil. O código apropriado é:
A saída correspondente agora é:
Nome | Localidade | Data de Nascimento |
---|---|---|
Pedro Moura | Cascavel | 10.04.1967 |
Sabrina Souza | Cascavel | 27.07.1989 |
Sebastião Ferreira | Caldas Novas | À CONSULTAR |
Martin Becker | Cascavel | 14.04.2001 |
Sarah Bernardes | À CONSULTAR | 02.12.2005 |
Alternativas a SQL COALESCE()
A função SQL COALESCE() apresenta sobreposições com uma instrução CASE e é basicamente uma versão abreviada dessa opção de consulta. O código CASE seria assim:
A função ISNULL também é semelhante à SQL COALESCE(). No entanto, ao contrário da função aqui abordada, ISNULL é avaliada apenas uma vez e não segue as regras do CASE.
Um servidor que atende exatamente às suas necessidades: Com o SQL Server Hosting da IONOS, você pode optar por MSSQL, MySQL ou MariaDB e se beneficiar de consultorias personalizadas, fortes mecanismos de segurança e uma performance excepcional.