Sql-Server-2005
為什麼有人會在查詢中輸入“where 1=1”?
我今天在我們的數據庫中遇到了一個視圖,其中 where 子句中的第一條語句是
where 1 = 1
. 這不應該對每條記錄都返回 true 嗎?如果它不過濾任何記錄,為什麼有人會寫這個?
一些動態查詢建構器包含此條件,以便可以添加任何“真實”條件,
AND
而無需像if (first condition) 'WHERE' else 'AND'
.
如果您的程序中有許多生成相似查詢的 SQL 語句建構點,則可以通過此技巧標記已檢查的一個。如果這句話是關於計數的,你可以使用下面的程式碼,這樣你就可以
42
從 SQL 日誌中提取出來。select count(42) from table