Mi sono imbattuto in una visione del nostro database oggi dove era la prima affermazione nella clausola where where 1 = 1
. Questo non dovrebbe essere vero per ogni disco? Perché qualcuno dovrebbe scrivere questo se non filtra alcun record?
Mi sono imbattuto in una visione del nostro database oggi dove era la prima affermazione nella clausola where where 1 = 1
. Questo non dovrebbe essere vero per ogni disco? Perché qualcuno dovrebbe scrivere questo se non filtra alcun record?
Risposte:
Alcuni compilatori di query dinamiche includono questa condizione in modo che qualsiasi condizione "reale" possa essere aggiunta con una AND
senza fare un controllo simile if (first condition) 'WHERE' else 'AND'
.
Se hai molti punti di costruzione delle istruzioni SQL nel tuo programma che generano query simili , puoi contrassegnare quello esaminato con questo trucco. Se la frase riguarda il conteggio, è possibile utilizzare il codice riportato di seguito in modo da poter estrarre 42
da un registro SQL.
select count(42) from table