Hoje me deparei com uma visão em nosso banco de dados onde estava a primeira declaração na cláusula where where 1 = 1
. Esse retorno não deveria ser verdadeiro para todos os registros? Por que alguém escreveria isso se não está filtrando nenhum registro?
sql-server-2005
goric
fonte
fonte
Respostas:
Alguns construtores de consultas dinâmicas incluem essa condição para que quaisquer condições "reais" possam ser adicionadas com um
AND
sem fazer uma verificação comoif (first condition) 'WHERE' else 'AND'
.fonte
Se você tiver muitos pontos de construção de instruções SQL em seu programa que geram consultas semelhantes , poderá marcar o examinado por este truque. Se a frase for sobre contagem, você pode usar o código abaixo para sair
42
de um log SQL.fonte
Ele fornece uma situação que é sempre verdadeira, portanto não afeta os resultados, mas você sabe que já existe um item na cláusula WHERE.
fonte