WHERE
pessoal alguem sabe me dizer o que quer dizer esta condição em uma query SQL, "where 1 = 2"?
valeu
valeu
WHERE = "QUE SEJA"
Instrução SQL
"Select * From SUATABELA Where Codigo=1"
Traduzindo.
Selecione Tudo Em SUATABELA EmQue Codigo=1
Instrução SQL
"Select * From SUATABELA Where Codigo=1"
Traduzindo.
Selecione Tudo Em SUATABELA EmQue Codigo=1
desculpe cleverton não é isso não, "1" não é um nome de um campo de tabela, a condição é "where 1 = 2", nenhuma das duas expressões são campos ou dados de tabela.
Eu achei que fosse igual ao "order by" más não é. tipo assim "order by 1,2" traduzindo = ordernar por CAMPO1 e CAMPO2
Eu achei que fosse igual ao "order by" más não é. tipo assim "order by 1,2" traduzindo = ordernar por CAMPO1 e CAMPO2
Trabalho,
pelo meu pequeno conhecimento em SQL, isto para mim é Gambiarra! rsrs
na verdade se vc colocar essa condição em seu comando SQL o mesmo provavelmente não trará registro algum, pois o número 1 nunca será igual ao número 2.
pelo meu pequeno conhecimento em SQL, isto para mim é Gambiarra! rsrs
na verdade se vc colocar essa condição em seu comando SQL o mesmo provavelmente não trará registro algum, pois o número 1 nunca será igual ao número 2.
Bem, trabalho com sql a muito tempo e em minha opnião esta condição irá fazer com que sua consulta retorne sempre nada, pois, 1 nunca será igual a 2...
Testei aqui e todas as consultas que fiz com esta condição retornou nada...
Então para mim é um erro...
Testei aqui e todas as consultas que fiz com esta condição retornou nada...
Então para mim é um erro...
Citação:TRABALHO escreveu:
pessoal alguem sabe me dizer o que quer dizer esta condição em uma query SQL, [Ãâ€ÂÂ]where 1 = 2[Ãâ€ÂÂ]?
valeu
Cara, o WHERE seria uma estrutura parecida com a do IF, traduzindo (não se ao pé da letra é isso) seria ONDE, tipo:
Traduzindo
SELECT * FROM SUA_TABELA WHERE CAMPO_NOME = 'MATIOLI'
ficaria:
SELECIONA * NA SUA_TABELA ONDE CAMPO_NOME = 'MATIOLI'
Ou seja, pega todos os registros na SUA_TABELA cujo o campo nome for exatamente igual à  MATIOLI...Sacou?
Agora, usar "where 1 = 2" não retornará nadica de nada, o motivo é obvio, pois um NÃO é IGUAL a dois, não vejo motivo numa query desse tipo, de onde tirou isso?
Se não entendeu posta melhor as dúvidas q eu tento explicar...flw
não vejo motivo numa query desse tipo
Bom MATIOLI, aqui onde trabalho peguei algumas coisas do tipo em alguns sistemas, mas sinceramente já alterei todas. Geralmente isto era colocado para aquelas famosas gambiarras, códigos com ifs e mais ifs e dentro de um deles apareceria uma instrução deste tipo.
Não vejo motivo para utilizar também, mas quando vi, era assim.
Citação:MARCELOHF escreveu:
não vejo motivo numa query desse tipo
Bom MATIOLI, aqui onde trabalho peguei algumas coisas do tipo em alguns sistemas, mas sinceramente já alterei todas. Geralmente isto era colocado para aquelas famosas gambiarras, códigos com ifs e mais ifs e dentro de um deles apareceria uma instrução deste tipo.
Não vejo motivo para utilizar também, mas quando vi, era assim.
Sei lá, já até vi colocar "WHERE 1 = 1" qdo se usa aquele monte de IF pra montar o WHERE e no final não se sabe se ficou ou não alguma condição, e colocando "WHERE 1 = 1" dá na mesma q não colocar nada, só pra isso, mas "WHERE 1 = 2" é estranho...:-/
mano, to cansado de usar esse tipo de coisa!
where 1 = 2 serve pra vc pegar apenas a estrutura das tabelas.
por exemplo, eu tenho alguns sistemas meus que são 70% auto-customizáveis, portanto, sempre que preciso checar se uma determinada tabela foi criada ou uma coluna existe em uma determinada tabela, basta buscar por 1 = 2, e assim, não perco tempo com um zilhao de registros que podem aparecer.
eu uso isso aos MOOOOOONTES. Não se trata de gambiarra, mas de performance.
pra que que eu vou ficar buscando registro se tudo que eu quero é o nome das colunas? sacou?
já pensou se eu faço um:
"select * from tabela"
numa tabela que tem 10.000 registros só pra pegar nome de coluna?
à ' desperdicio de buffer/memoria/tempo!
where 1 = 2 serve pra vc pegar apenas a estrutura das tabelas.
por exemplo, eu tenho alguns sistemas meus que são 70% auto-customizáveis, portanto, sempre que preciso checar se uma determinada tabela foi criada ou uma coluna existe em uma determinada tabela, basta buscar por 1 = 2, e assim, não perco tempo com um zilhao de registros que podem aparecer.
eu uso isso aos MOOOOOONTES. Não se trata de gambiarra, mas de performance.
pra que que eu vou ficar buscando registro se tudo que eu quero é o nome das colunas? sacou?
já pensou se eu faço um:
"select * from tabela"
numa tabela que tem 10.000 registros só pra pegar nome de coluna?
à ' desperdicio de buffer/memoria/tempo!
Agora sim LION, realmente um bom motivo pra usar isso...^^
Pensando desta forma sim é um bom motivo...
não havia pensado assim!!
já me convenceu!!
apesar que existem outras formas de buscar a estrutura da tabela né... SQL Server pelo menos tem umas instruções para isso, tanto estrutura, tabelas, bancos...
mais vc me convenceu mesmo que para ESTE CASO que vc citou não é gambiarra!!
não havia pensado assim!!
já me convenceu!!
apesar que existem outras formas de buscar a estrutura da tabela né... SQL Server pelo menos tem umas instruções para isso, tanto estrutura, tabelas, bancos...
mais vc me convenceu mesmo que para ESTE CASO que vc citou não é gambiarra!!
Tópico encerrado , respostas não são mais permitidas