Usuário com melhor resposta
ISNULL

Pergunta
-
Tenho uma consulta SQL que eu quero apenas que ela me retorne 0 caso o resultado do campo seja NULL, porém, eu coloquei o camando ISNULL, tentei tratar pelo comando CASE e mesmo assim ela não retorna 0 (Zero)
O que eu posso estar fazendo de errado?SELECT
ISNULL(D.DESCONTO,0) as Desconto
FROM FLAN A INNER JOIN SLAN B ON (A.IDLAN = B.IDLAN AND A.CODCOLIGADA = B.CODCOLIGADA)
INNER JOIN SPARCELA C ON (C.IDPARCELA = B.IDPARCELA AND C.CODCOLIGADA = B.CODCOLIGADA)
INNER JOIN SBOLSAALUNO D ON (D.CODCOLIGADA = C.CODCOLIGADA AND D.CODCONTRATO = C.CODCONTRATO AND D.IDPERLET = C.IDPERLET AND C.CODSERVICO = D.CODSERVICO)
INNER JOIN SBOLSA E ON (E.CODCOLIGADA = D.CODCOLIGADA AND E.CODBOLSA = D.CODBOLSA)
WHERE UPPER(E.NOME) LIKE ('%PONTUALIDADE%')
AND A.IDLAN = 128
Respostas
-
sim, ao final do seu codigo coloque o codigo abaixo:
if @@ROWCOUNT = 0 begin select 'Não ha registros' end
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
- Marcado como Resposta Brunomds sexta-feira, 11 de janeiro de 2013 15:20
Todas as Respostas
-
Bruno, pode ser que o NULL não seja NULL verdadeiramente e sim a palavra NULL em caracteres, tente assim:
SELECT CASE when D.DESCONTO = 'NULL' then 0 when D.DESCONTO is null then 0 else D.desconto end as Desconto FROM FLAN A INNER JOIN SLAN B ON (A.IDLAN = B.IDLAN AND A.CODCOLIGADA = B.CODCOLIGADA) INNER JOIN SPARCELA C ON (C.IDPARCELA = B.IDPARCELA AND C.CODCOLIGADA = B.CODCOLIGADA) INNER JOIN SBOLSAALUNO D ON (D.CODCOLIGADA = C.CODCOLIGADA AND D.CODCONTRATO = C.CODCONTRATO AND D.IDPERLET = C.IDPERLET AND C.CODSERVICO = D.CODSERVICO) INNER JOIN SBOLSA E ON (E.CODCOLIGADA = D.CODCOLIGADA AND E.CODBOLSA = D.CODBOLSA) WHERE UPPER(E.NOME) LIKE ('%PONTUALIDADE%') AND A.IDLAN = 128
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
- Sugerido como Resposta Marques Junior sexta-feira, 11 de janeiro de 2013 14:10
- Editado Alexandre Matayosi sexta-feira, 11 de janeiro de 2013 14:17
-
-
pelo seu print, acredito que o problema é que não esta retornando registro nenhum, de uma olhada no canto inferior direito "0 rows", ou a tabela não tem informações ou os filtros que voce esta utilizando não estão trazendo registros.
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
-
-
sim, ao final do seu codigo coloque o codigo abaixo:
if @@ROWCOUNT = 0 begin select 'Não ha registros' end
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
- Marcado como Resposta Brunomds sexta-feira, 11 de janeiro de 2013 15:20
-