Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Können Skalarfunktionen vor dem Filtern angewendet werden, wenn eine SQL-Anweisung ausgeführt wird?

Martin hat diesen Link gegeben, der ziemlich genau erklärt, was vor sich geht - der Abfrageoptimierer hat freie Hand, um Dinge nach Belieben neu anzuordnen. Ich füge dies als Antwort hinzu, damit ich etwas akzeptieren kann. Martin, wenn Sie eine Antwort mit Ihrem Link erstellen, akzeptiere ich diese gerne anstelle dieser.

Ich möchte meine Frage hier hinterlassen, weil ich denke, dass die Suche schwierig ist und meine spezielle Formulierung des Problems für andere in Zukunft möglicherweise einfacher zu finden ist.

TSQL Division durch Null gefunden, obwohl keine Spalte 0 enthält

EDIT:Da mehr Antworten eingegangen sind, bin ich wieder verwirrt. Es scheint noch nicht klar zu sein, wann genau der Optimierer Dinge in der select-Klausel auswerten darf. Ich schätze, ich muss selbst nach dem SQL-Standard suchen und sehen, ob ich es verstehen kann.