CASE COM CAMPOS NULOS

 Tópico anterior Próximo tópico Novo tópico

CASE COM CAMPOS NULOS

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#479553 - 09/02/2018 19:53:22

WMR2018
BALSAS
Cadast. em:Outubro/2017


Boa noite,

estou com uma SQL aqui, onde gostaria, caso o campo seja NULL, ser SIM, caso não seja, NÃO

Fiz assim:
sSQL = "SELECT codigo, login, CASE senha WHEN Null THEN 'SIM' ELSE 'NÃO' END AS var_senha, nivel FROM usuario ORDER BY codigo;"


Só que sempre aparece aparece a segunda situação "NÃO", independente do campo ser null ou não




#479554 - 09/02/2018 20:18:01

SONILDO
CAMPO GRANDE
Cadast. em:Agosto/2009


Opa, segue um exemplo que eu uso nesta situação:
SELECT codigo, login, iif(isnull(senha) = true, "SIM", "NÃO") AS varSenha from usuario



#479556 - 09/02/2018 20:49:21

WMR2018
BALSAS
Cadast. em:Outubro/2017


amigo, deu o seguinte erro:
a função isnull exige os argumentos 2




Resposta escolhida #479557 - 09/02/2018 23:19:42

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
sSQL = "SELECT codigo, login, CASE senha WHEN IS Null THEN 'SIM' ELSE 'NÃO' END AS var_senha, nivel FROM usuario ORDER BY codigo;"

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#479558 - 10/02/2018 01:15:15

SONILDO
CAMPO GRANDE
Cadast. em:Agosto/2009


Qual o banco que você esta usando??? esqueci de te perguntar.



#479559 - 10/02/2018 02:00:57

SONILDO
CAMPO GRANDE
Cadast. em:Agosto/2009


Outra coisa adapte o meu código para a sua necessidade.
Compreenda o código.



#479569 - 12/02/2018 10:24:07

WMR2018
BALSAS
Cadast. em:Outubro/2017


Citação:
:
Qual o banco que você esta usando??? esqueci de te perguntar.


Uso VB + SQLserver 2008



#479570 - 12/02/2018 10:29:56

WMR2018
BALSAS
Cadast. em:Outubro/2017


Citação:
:
sSQL = "SELECT codigo, login, CASE senha WHEN IS Null THEN 'SIM' ELSE 'NÃO' END AS var_senha, nivel FROM usuario ORDER BY codigo;"


Diz q a classula tá errada, tentei tanto IS NULL como ISnull

uso VB6+SQLserver2008




#479576 - 13/02/2018 11:37:37

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


testa isso:
sSQL = "SELECT codigo, login, CASE WHEN senha  IS Null THEN 'SIM' ELSE senha 'NÃO' END AS var_senha, nivel FROM usuario ORDER BY codigo;"

O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#479581 - 14/02/2018 09:36:34

OMAR2011
MONTES CLAROS
Cadast. em:Setembro/2011


Isto tem haver com o Campo da tabela.Por quê?????????
Acho que KERPLUNK  sabe responder isto.
Faça um teste inserindo novos registros.Assim.
cn.EXECUTE ("iNSERT INTO USUARIO(CODIGO,LOGIN,SENHA,NIVEL) VALUES (" & Text1.Text & ",'" & Text2.Text & "','" & Text3.Text & "','" & Text4Text & "')")
cn.EXECUTE ("iNSERT INTO USUARIO(CODIGO,LOGIN,NIVEL) VALUES (" & Text1.Text & ",'" & Text2.Text & "','" & Text4.Text & "')")
Execute sua instrução Sql e vai ver.
Para voltar ao estado original como Null.Faça um Update.
cn.EXECUTE ("Update  USUARIO set senha='Null'") isto vai para todos. Use where naquilo que deseja.





#479583 - 14/02/2018 13:06:58

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
OMAR, você está passando o null como um valor string. "Null" e null são coisas diferentes, tente assim:

cn.EXECUTE ("Update  USUARIO set senha=Null WHERE X=Y")


_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por WMR2018 em 15/02/2018 18:30:29