Gibt es eine Möglichkeit, das Ergebnis durch eine ORDER
-Klausel zu ordnen, die einen Ausdruck enthält, etwa
oder auch ein komplexerer Ausdruck?
UPDATE:
In der Zwischenzeit habe ich eine Möglichkeit gefunden, das obige Problem zu lösen:
%Vor%aber die Frage bleibt, ob es die Möglichkeit gibt, direkt durch einen Ausdruck zu bestellen.
Nein, SQL Server unterstützt die direkte Konvertierung eines Ausdrucks in "true / false" nicht.
IMHO, ein Grund ist die 3-Wert-Logik. Dies hat 3 Ergebnisse, nicht 2, von jeder Spalte ist NULL. Der NULL ist zuerst in SQL im Allgemeinen immer Server, kann aber in anderen RDBMS zuletzt angegeben werden.
%Vor%Die Verwendung von CASE mildert dies und entfernt Mehrdeutigkeiten
%Vor%Sie müssen CASE gemäß Ihrer Aktualisierung verwenden und sicherstellen, dass die Datentypen in WHEN-Klauseln übereinstimmen (oder zumindest implizit konvertierbar sind).
Sie können nach der Ordinalposition der Spalte sortieren, wenn Sie die Daten sehen möchten, nach denen Sie sortieren ... wenn Sie zum Beispiel nach der ersten Spalte bestellen möchten, sagen Sie einfach 'ORDER BY 1' . Hier ist ein Beispiel, wo ich einen Ausdruck in der Select-Klausel hinzufüge .. und dann ordne ich es in der Reihenfolge von Klausel
%Vor%Tags und Links sql-server sql-server-2005