Existe algum comando no SQL Server que traga informação do mesmo campo quando o mesmo contem informaçoes nulas e não nulas
18/06/2015
0
SELECT P.ParcDocFinDupNum, P.ParcDocFinDesmPag, P.ParcDocFinDataEmissao, VE.VendCod,
P.ParcDocFinDataVenc, P.BcoNum, P.TipoCobCod, P.ParcDocFinValOrig, E.EntStatDescr,
P.ParcDocFinSeq, D.EntCod, D.DocFinSerie, D.EmpCod, D.DocFinTipoLanc,SE.StatEntDescrSist,
D.DocFinProjecao, D.DocFinChv, P.EmpCod,ParcDocFinDataProrrog, P.USERParcDocFinSituacao
FROM DOC_FIN D With(NoLock), PARC_DOC_FIN P With(NoLock), Entidade E With(NoLock),
STAT_ENT SE With(NoLock), Vend_Ent VE With(Nolock)
WHERE D.EmpCod = '1'--:Empresa
AND D.DocFinTipoLanc = 'REC'
AND D.DocFinProjecao = 'Não'
AND P.DocFinChv = D.DocFinChv
AND P.EmpCod = D.EmpCod
AND D.EntCod = E.EntCod
AND E.StatEntCod = SE.StatEntCod
AND E.EntCod = VE.EntCod
AND P.ParcDocFinDataPag IS NULL
AND (P.ParcDocFinDataProrrog >= '2000-01-01'
AND P.ParcDocFinDataProrrog <= '2015-06-18')
And P.USERParcDocFinSituacao in ('Em Cartorio', 'is null')
ORDER BY VE.VendCod, D.EntCod, D.EmpCod, P.ParcDocFinDataVenc
Marta Silva
Post mais votado
19/06/2015
And(P.USERParcDocFinSituacao is NULL or P.USERParcDocFinSituacao = 'Em Cartório')
Que bom que funcionou, mas vale lembrar que campos string (char o varchar) podem ser NULL ou '' (branco), então talvez você deva ser preocupar com este fato.
Isto pode ser contornado com:
And(ISNULL(P.USERParcDocFinSituacao,'') = '' or P.USERParcDocFinSituacao = 'Em Cartório')
Agora se você tive certeza que o conteúdo será sempre NULL pode deixar com a condição que você criou.
Jothaz
Mais Posts
18/06/2015
Marcos P
Não entendi exatamente seu problema...
Você precisa que exista um tratamento de campo NULL, substituindo esse valor por outro qualquer. É isso ?
Se for, pesquise sobre a função ISNULL().
Caso seu problema seja desprezar no WHERE valores null em determinada coluna, faça :
WHERE coluna is not null
Senão for nada disso, detalhe melhor seu problema...
18/06/2015
Jothaz
Veja se o script abaixo ajuda a entender como usar o IS NULL, IS NOT NULL e ISNULL:
declare @tab table (id int, nome varchar(10)) insert into @tab (id , nome) values (1,'zzzzz') insert into @tab (id , nome) values (2,null) insert into @tab (id , nome) values (3,'') insert into @tab (id , nome) values (4,'eeeeee') insert into @tab (id , nome) values (5,null) insert into @tab (id , nome) values (6,'pppppp') insert into @tab (id , nome) values (7,'') insert into @tab (id , nome) values (8,'lllll') insert into @tab (id , nome) values (8,null) select * from @tab select * from @tab where nome is null or nome = '' select * from @tab where nome is not null and nome <> '' select * from @tab where isnull(nome,'') = '' select * from @tab where isnull(nome,'') <> ''
Note que NULL é diferente de ''.
Qualquer dúvida é só se manifestar!
19/06/2015
Marta Silva
Exemplo tenho a parcela 8512- A que o campo UserSituação é Nulo e a parcela 8615-B o campo esta Em cartório. Preciso que ao gerar o relatório me traga esta duas informações juntas, pois eu só consigo fazer separadas, o que preciso seria como se fosse o comando
P.USERParcDocFinSituacao in('Em Cartorio', 'Protestado')
19/06/2015
Guilherme
P.USERParcDocFinSituacao in(NULL, 'Em Cartorio', 'Protestado')
19/06/2015
Guilherme
P.USERParcDocFinSituacao in(NULL, '', 'Em Cartorio', 'Protestado')
19/06/2015
Jothaz
P.USERParcDocFinSituacao in(NULL, '', 'Em Cartorio', 'Protestado')
No script que postei contempla este caso use
isnull(seu-campo,'')
porque vai trocar o valores nulos (NULL) por '' (branco) ai é comparar com ''.
19/06/2015
Marta Silva
19/06/2015
Jothaz
Fica mais fácil o entendimento e ajuda.
Mas é só uma sugestão.
19/06/2015
Jothaz
Sei que pode ser trabalhoso, mas criando uma base de testes certamente vai facilitar a ajuda e a ajuda será mais eficaz!
19/06/2015
Marta Silva
And(P.USERParcDocFinSituacao is NULL or P.USERParcDocFinSituacao = 'Em Cartório')
Clique aqui para fazer login e interagir na Comunidade :)