Fórum Problemas com uma query #44860

15/06/2004

0

Olá, tenho a seguinte Query:
select * from clientes
where
(nome = ´fellipe´) AND (DELETED <> ´*´)

porem ele nao me retorna nada, sendo que existe registro na tabela, nao marcados com *.. se eu tirar o
AND(DELETED <> ´*´)

ele funciona perfeitamente...
o que ha de errado na minha query?

Desde ja agradeco...
[]s


Titanius

Titanius

Responder

Posts

15/06/2004

Afarias

o seu ´problema´ é q os campos q não estào com ´*´ , estão NULOS -- e nulo não é valor!! sendo assim::

campo <> ´*´ e campo = ´*´ será sempre FALSO -- por que nulo quer dizer DESCONHECIDO -- intão, como é desconhecido não dá pra dizer se é IGUAL ou DIFERENTE :)

mude sua consulta para::

select * from clientes
where (nome = ´fellipe´) AND (DELETED IS NULL)



T+


Responder

Gostei + 0

15/06/2004

Titanius

po cara, é isso mesmo... mas como eu sou iniciante, como faço uma query que me retorne o valor do tipo:
(Nome = ´fellipe´) AND ( (DELETED <> ´*´) OR (DELETED <> NULL) )


seria assim?

Abracos


Responder

Gostei + 0

15/06/2004

Afarias

desculpe, não entendi sua questão. pode refazê-la??

aproveitando, ´DELETED <> NULL´ não está correto... NULL não é valor! NULL possui apenas 2 operadores:: IS e IS NOT ... sendo assim ::

DELETED IS NULL

ou

DELETED IS NOT NULL


T+


Responder

Gostei + 0

16/06/2004

Titanius

Bem, eu queria que me retornasse o registro com o campo NOME igual a ´fellipe´ e que nao seja NULL e nao esteja marcado com ´*´ o campo DELETED...

Como faco isso?


Responder

Gostei + 0

16/06/2004

Afarias

(Nome = ´fellipe´) AND (DELETED IS NOT NULL) AND (DELETED <> ´*´)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar