SQL Server 2005 Ordnen Sie BY mit einem Ausdruck zu

8

Gibt es eine Möglichkeit, das Ergebnis durch eine ORDER -Klausel zu ordnen, die einen Ausdruck enthält, etwa

%Vor%

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.

    
HCL 16.01.2011, 17:15
quelle

4 Antworten

15

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).

    
gbn 16.01.2011, 18:01
quelle
5

können Sie

verwenden %Vor%     
anishMarokey 16.01.2011 17:23
quelle
1

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%     
Aaron Kempf 16.01.2011 17:28
quelle
0

Sie müssen es zuerst in Ihre Auswahl einfügen

%Vor%

Es ist irgendwie so etwas in meinem Kopf. Ссылка

    
Hawxby 16.01.2011 17:21
quelle

Tags und Links