Encontré una vista en nuestra base de datos hoy donde estaba la primera declaración en la cláusula where where 1 = 1
. ¿No debería esto volver cierto para cada registro? ¿Por qué alguien escribiría esto si no está filtrando ningún registro?
Encontré una vista en nuestra base de datos hoy donde estaba la primera declaración en la cláusula where where 1 = 1
. ¿No debería esto volver cierto para cada registro? ¿Por qué alguien escribiría esto si no está filtrando ningún registro?
Respuestas:
Algunos creadores de consultas dinámicas incluyen esta condición para que cualquier condición "real" se pueda agregar con un AND
sin hacer una verificación como if (first condition) 'WHERE' else 'AND'
.
Si tiene muchos puntos de creación de sentencias SQL en su programa que generan consultas similares , puede marcar el examinado con este truco. Si la oración se trata de contar, puede usar el código a continuación para que pueda extraerlo 42
de un registro SQL.
select count(42) from table