Сегодня я наткнулся на представление в нашей базе данных, где было первое утверждение в предложении where where 1 = 1
. Разве это не должно возвращать истину для каждой записи? Зачем кому-то писать это, если он не фильтрует записи?
Сегодня я наткнулся на представление в нашей базе данных, где было первое утверждение в предложении where where 1 = 1
. Разве это не должно возвращать истину для каждой записи? Зачем кому-то писать это, если он не фильтрует записи?
Ответы:
Некоторые динамические компоновщики запросов включают это условие, так что любые «реальные» условия могут быть добавлены AND
без проверки, как if (first condition) 'WHERE' else 'AND'
.
Если в вашей программе есть много точек построения операторов SQL, которые генерируют похожие запросы, вы можете пометить проверенный запрос этим трюком. Если предложение касается подсчета, вы можете использовать приведенный ниже код, чтобы вы могли извлечь 42
из журнала SQL.
select count(42) from table