Articles

A função SQL Coalesce-aprenda a usá-la com exemplos

Posted by admin

a função SQL Coalesce recebe uma lista de parâmetros que são separados por vírgulas. A função retorna o valor do primeiro de seus parâmetros de entrada que não é nulo. O número de parâmetros que você passa para COALESCE depende de você. Os parâmetros passados a Coalesce não têm que ser tipos de dados de string, eles podem ser qualquer tipo de dados e também podem ser diferentes tipos de dados. A sintaxe é a seguinte.

COALESCE(value1, value2, value3, ...)

no exemplo abaixo a função retornaria ‘Jack’., Isto porque a variável @Name1 não foi atribuída um valor e é, portanto, nula. A função COALESCE, portanto, passa para o próximo parâmetro da lista que é @Name2. @Name2 foi atribuído um valor para que não seja nulo, e assim este valor é devolvido pela função.

A função COALESCE pode ser usada para construir dinâmicas onde as cláusulas que modificam a consulta dependendo dos parâmetros de entrada são passados a ela., Um exemplo é dado abaixo:

CREATE PROCEDURE dbo.SearchCustomers @FirstName varchar(20), @LastName varchar(20)AS SET NOCOUNT ONSELECT CustomerID, FirstName, LastNameFROM CustomerWHERE FirstName = COALESCE(@FirstName, FirstName) AND LastName = COALESCE(@LastName, LastName)ORDER BY LastName, FirstNameSET NOCOUNT OFFGO

Este procedimento armazenado pode ser chamado de várias maneiras e a função COALESCE retornaria dinamicamente tanto a variável não-nula ou o nome da coluna. Passar o nome da coluna irá sempre corresponder ao nome da coluna que estamos a comparar.

conclusão

neste artigo, explicamos como a função Coalesce funciona retornando o primeiro valor não nulo que é passado para ele., Embora possa ser usado com strings, COALESCE não se limita a ser passado apenas strings, ele pode receber valores de outros tipos de dados como parâmetros de entrada.

vimos alguns exemplos do mundo real da função em uso, incluindo como ela pode ser facilmente usada para gerar dinâmica onde cláusulas quando variáveis que podem ser nulas estão sendo usadas em uma consulta.

report this ad

Leave A Comment