Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 523456
            [titulo] => Existe algum comando no SQL Server que traga informação do mesmo campo quando o mesmo contem informaçoes nulas e não nulas
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-06-19 16:46:54
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 418027
            [status] => A
            [isExample] => 
            [NomeUsuario] => Jothaz
            [Apelido] => 
            [Foto] => 418027_20150313165406.jpg
            [Conteudo] => [quote]Mais uma vez obrigada pelas dicas e ajudar o comando era exatamente isso [code] And(P.USERParcDocFinSituacao is NULL or P.USERParcDocFinSituacao = 'Em Cartório')[/code][/quote]

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:

[code]And(ISNULL(P.USERParcDocFinSituacao,'') = '' or P.USERParcDocFinSituacao = 'Em Cartório')[/code]

Agora se você tive certeza que o conteúdo será sempre NULL pode deixar com a condição que você criou. ) )

Existe algum comando no SQL Server que traga informação do mesmo campo quando o mesmo contem informaçoes nulas e não nulas

Melangel
   - 18 jun 2015

Tenho um relatório onde preciso que o mesmo me traga somente as informações do campo quando ele estiver nulo e a opção em cartório, este campo possui as opções Null, Em Cartorio, Protestado, Jurídico e Aviso Sacado. Eu fiz o seguinte comando porem não dá certo
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

Post mais votado

Jothaz
   - 19 jun 2015


Citação:
Mais uma vez obrigada pelas dicas e ajudar o comando era exatamente isso #Código

 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:

#Código
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.

Marcos P
   - 18 jun 2015

Sempre que postar código no fórum, utilize a tag ( Inserir Código ), facilita a leitura !

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 :
#Código

WHERE coluna is not null

Senão for nada disso, detalhe melhor seu problema...

Jothaz
   - 18 jun 2015

Quando for postar um código use as tags "</>" clicando no ícone a esquerda, ajuda muito na leitura.

Veja se o script abaixo ajuda a entender como usar o IS NULL, IS NOT NULL e ISNULL:

#Código

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!

Melangel
   - 19 jun 2015

Oi não é isto que preciso na visualização do SQL precisa ver todas as informações do campo onde o valor for = a nulo e que também consiga visualizar o que for Cartório as outras informações do campo não quero visualizar. Só que precisa ver no mesmo retorno.
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 #Código

P.USERParcDocFinSituacao in('Em Cartorio', 'Protestado')
só que quando é um campo nulo este comando não funciona. Não sei se fui clara.

Guilherme
   - 19 jun 2015

Ai meu querido, tente fazer assim

#Código

P.USERParcDocFinSituacao in(NULL, 'Em Cartorio', 'Protestado')

Guilherme
   - 19 jun 2015

Mas atenção, campo Nulo não é string vazia. Se no campo de seu banco de ddos estiver com string vazia não retornará, então recomendo incluir ('') na clausula de conjunto de valores.

#Código

P.USERParcDocFinSituacao in(NULL, '', 'Em Cartorio', 'Protestado')

Jothaz
   - 19 jun 2015


Citação:
Mas atenção, campo Nulo não é string vazia. Se no campo de seu banco de ddos estiver com string vazia não retornará, então recomendo incluir ('') na clausula de conjunto de valores.

#Código

P.USERParcDocFinSituacao in(NULL, '', 'Em Cartorio', 'Protestado')


No script que postei contempla este caso use
#Código
  isnull(seu-campo,'') 

porque vai trocar o valores nulos (NULL) por '' (branco) ai é comparar com ''.

Melangel
   - 19 jun 2015

Gente obrigada pela ajuda, mas não é nenhum desses comandos. O problema é que meu campo não é branco ele é 'null', 'Em Cartorio', Protestado', 'Aviso', 'Juridico'. Qualquer dos comandos que eu utilizar ele não me mostra na visualização as duas opções que eu quero visualizar. Ou ele traz só null ou só em cartório. Mesmo assim eu agradeço a todos por tentar me ajudar. abraços.

Jothaz
   - 19 jun 2015

Caso tenha disponibilidade use o sqlfiddle e crie um base de dados de exemplo com o sql que você esta usando.

Fica mais fácil o entendimento e ajuda.

Mas é só uma sugestão.

Melangel
   - 19 jun 2015

vou fazer isto, obrigada.

Jothaz
   - 19 jun 2015


Citação:
vou fazer isto, obrigada.


Sei que pode ser trabalhoso, mas criando uma base de testes certamente vai facilitar a ajuda e a ajuda será mais eficaz!

Melangel
   - 19 jun 2015

Mais uma vez obrigada pelas dicas e ajudar o comando era exatamente isso #Código

 And(P.USERParcDocFinSituacao is NULL or P.USERParcDocFinSituacao = 'Em Cartório')

Faabiianooc
   - 19 jun 2015

Função ISNULL ou COALESCE