Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Camaradas,
[*]ISNULL().aspx) é uma função do SQL Server que efetua a troca do valor NULL pelo caracter especificado no comando.
Sintaxe:
--ISNULL(campo ou variável,caracter) ISNULL(NOME,'')ISNULL(@DAT_INICIO,'')ISNULL(PRECO,0)----Usando ISNULL com IFIF ISNULL(@COD,-1) ....----Usando ISNULL com CASECASE WHEN (ISNULL(VR_ITEM,0) * PER) > 10 THEN ...
Exemplos:
--DECLARE @AUX VARCHAR(80), @TEXTO VARCHAR(80), @NUMERO INTSET @AUX = NULLSET @TEXTO = ' dez anos já e nenhuma gota me alcaçou..'----Ao concatenar @AUX que esta igual a NULL com @TEXTO retorna NULLSELECT @AUX + ' - ' + @TEXTO----Utilizando a função ISNUL() é possível trocar o conteúdo NULL--por '' (branco) e retornar o resultado corretoSELECT ISNULL(@AUX,'') + ' - ' + @TEXTO----A função ISNULL() pode ser utlizada com INT, DATETIME ou qualquer outor--tipo que receba NULLSET @NUMERO = NULLSELECT @NUMERO + 1SELECT ISNULL(@NUMERO,0) + 1Os exemplos acima são bem simples já dão uma visão de como pode-se fazer uso so ISNULL(). Notem que pode-se utilizá-lo em IF´s, CASE´s e WHERE´s. No mais sua imaginação e os erros são o limite.
[*]IS NULL é um operador do SQL Server que retorna true (verdadeiro) caso algum registro satisfaça a condição descrita.
Exemplos:
----Criando massa de testeCREATE TABLE #TMP (NUMERO INT NULL,DE_JUSTIF VARCHAR(80) NULL,DT_CAD DATETIME NULL)INSERT INTO #TMP (NUMERO, DE_JUSTIF) VALUES (1,'Os loucos fazem castelos no ar! Os psicólogos cobram o aluguel')INSERT INTO #TMP (NUMERO, DE_JUSTIF,DT_CAD) VALUES (2,NULL,GETDATE())INSERT INTO #TMP (NUMERO, DE_JUSTIF) VALUES (3,' ')INSERT INTO #TMP (NUMERO,DT_CAD) VALUES (4,'2007/01/10')INSERT INTO #TMP (NUMERO, DE_JUSTIF) VALUES (5,'O que não me mata me fortalece.')INSERT INTO #TMP (NUMERO, DE_JUSTIF,DT_CAD) VALUES (6,'Navegar é preciso, viver não é precisio.','1980/07/22')----Usando IS NULL no CASE para definir retorno de dadosSELECT DE_JUSTIF, CASE WHEN DT_CAD IS NULL THEN 'NÃO CADASTRADA!' ELSE CONVERT(VARCHAR(10),DT_CAD,103) END AS MSG_DATA , CASE WHEN DE_JUSTIF IS NULL THEN 'NÃO CADASTRADA!' ELSE DE_JUSTIF END AS MSG_JUSTIFFROM #TMP----Usando IS NULL no WHERE para efetuar filtroSELECT FROM #TMPWHERE DE_JUSTIF IS NULL----Usando IS NULL no WHERE para criar um filtro dinâmicoSELECT FROM #TMPWHERE (@ID IS NULL OR ID = @ID)DROP TABLE #TMPOs exemplos apresetam de forma suscinta a utilização do IS NULL que também pode ser utilizado em IF´s, CASE´s e WHERE´s.
Espero que este post sirva para facilitar o entendimento e aclarar a idéias. Afinal tanto a função ISNULL() quanto o operador IS NULL podem ser utilizados em conjunto abrindo um universo ainda maior para exploração.
Fonte/Autor/link
AUTOR: "Jothaz"
Dúvidas, criticas, contribuições, correções e adições serão bem vindas.