Ich habe ein paar Fragen bearbeitet, die ich behalte, und ein Programmierer hat mir die Abfragen "wo 1 = 1" eingegeben, die immer als richtig zu bewerten scheinen.
Hat das Vorteile?
Duplizieren: Warum sollte jemand WHERE 1 = 1 UND in einer SQL-Klausel verwenden?
Diese Frage ist keine Antwort auf diese Frage.
Where-Klausel:
%Vor%Keine Programmierung oder wenn Aussagen drängen und drinnen sind. Eine direkte Abfrage.
Wenn Sie das öffnen könnten, würde ich gerne wissen, ob es einen Zweck gibt, damit ich die 1 = 1 umschreiben und entfernen kann, wenn es unnötig ist.
Wenn Sie eine where-Klausel dynamisch erstellen, können Sie etwas faul sein und davon ausgehen, dass jeder von Ihnen hinzugefügten Klausel das Präfix "AND", z.
%Vor%Wenn Sie Ihrer Abfrage automatisch Einschränkungen hinzufügen möchten, erleichtert dies Ihr Leben:
%Vor% Ohne WHERE 1 = 1
müssten Sie in jedem Fall prüfen, ob es die erste Einschränkung ist, die Sie hinzufügen (und dann WHERE ...
verwenden) oder ob Sie bereits eine andere Einschränkung hinzugefügt haben (und dann AND ...
hinzufügen).
Das macht nur in dynamischen Abfragen Sinn. Wenn Sie Parameter in einer Schleife hinzufügen, anstatt prüfen zu müssen, ob es bereits eine WHERE gibt, können Sie AND Column = Value jedes Mal anhängen.
Das ist sehr interessant ... Die WHERE-Klausel enthält nichts als 1 = 1? Ich habe dies häufig in SQL-Injection-Versuchen gesehen, in denen die WHERE-Klausel gesetzt ist %Code% als Mittel, um immer eine Ergebnisliste zurückzugeben.
Können Sie uns mehr darüber sagen, was mit dieser Abfrage passiert, damit wir die Frage besser beantworten können?
Tags und Links sql where-clause