Ich bin heute auf eine Ansicht in unserer Datenbank gestoßen, in der die erste Aussage in der where-Klausel war where 1 = 1
. Sollte dies nicht für jeden Datensatz zutreffen? Warum würde jemand dies schreiben, wenn es keine Datensätze filtert?
sql-server-2005
goric
quelle
quelle
Antworten:
Einige Builder für dynamische Abfragen enthalten diese Bedingung, so dass beliebige "echte" Bedingungen mit einem hinzugefügt werden können,
AND
ohne dass eine Prüfung durchgeführt werden mussif (first condition) 'WHERE' else 'AND'
.quelle
Wenn Ihr Programm viele SQL-Anweisungserstellungspunkte enthält, die ähnliche Abfragen generieren , können Sie die untersuchte Abfrage mit diesem Trick markieren. Wenn es um das Zählen des Satzes geht, können Sie den folgenden Code verwenden, um
42
aus einem SQL-Protokoll herauszugreifen .quelle
Es stellt eine Situation dar, die immer wahr ist, sodass die Ergebnisse nicht beeinflusst werden. Sie wissen jedoch, dass die WHERE-Klausel bereits ein Element enthält.
quelle