Saya menemukan tampilan di basis data kami hari ini di mana pernyataan pertama di mana klausa itu berada where 1 = 1
. Tidakkah ini mengembalikan nilai true untuk setiap record? Mengapa seseorang menulis ini jika tidak memfilter catatan?
Saya menemukan tampilan di basis data kami hari ini di mana pernyataan pertama di mana klausa itu berada where 1 = 1
. Tidakkah ini mengembalikan nilai true untuk setiap record? Mengapa seseorang menulis ini jika tidak memfilter catatan?
Jawaban:
Beberapa pembuat kueri dinamis menyertakan kondisi ini sehingga setiap kondisi "nyata" dapat ditambahkan dengan AND
tanpa melakukan pemeriksaan seperti if (first condition) 'WHERE' else 'AND'
.
Jika Anda memiliki banyak poin pembangun pernyataan SQL dalam program Anda yang menghasilkan pertanyaan serupa , Anda dapat menandai yang diperiksa dengan trik ini. Jika kalimatnya tentang menghitung, Anda dapat menggunakan kode di bawah ini sehingga Anda dapat mengeluarkan 42
dari log SQL.
select count(42) from table