W naszej bazie danych natknąłem się dziś na widok pierwszego zdania w klauzuli where where 1 = 1
. Czy to nie powinno być prawdą dla każdej płyty? Dlaczego ktoś miałby to pisać, jeśli nie filtruje żadnych rekordów?
sql-server-2005
goric
źródło
źródło
Odpowiedzi:
Niektóre konstruktory zapytań dynamicznych uwzględniają ten warunek, dzięki czemu można dodawać dowolne „rzeczywiste” warunki
AND
bez sprawdzaniaif (first condition) 'WHERE' else 'AND'
.źródło
Jeśli masz w swoim programie wiele punktów budujących instrukcje SQL, które generują podobne zapytania, możesz oznaczyć badany za pomocą tej sztuczki. Jeśli zdanie dotyczy zliczania, możesz użyć kodu poniżej, aby można było wylogować się
42
z dziennika SQL.źródło
Zapewnia sytuację, która jest zawsze prawdziwa, więc nie wpływa na wyniki, ale wiesz, że jest już jeden element w klauzuli WHERE.
źródło