Ich habe eine Tabelle, die Tage und Zeiten enthält, die Tagesspalte, kann einen beliebigen der sieben Tage enthalten und sie werden auf den Datentyp varchar
gesetzt. Da diese Tabelle Buchungszeiten für einen Kunden enthält, möchte ich alle Tage aus der Tabelle auswählen, in der die ID übereinstimmt, und ich möchte von Montag bis Sonntag nach Tagen sortieren. Ich hatte gehofft, dass ich etwas zu dieser Abfrage hinzufügen könnte, um manuell die Reihenfolge auszuwählen, in der die Ergebnisse zurückkommen:
Das funktioniert natürlich nicht, aber ich wollte nur zeigen, was ich erreichen möchte. Der Kunde benötigt nicht unbedingt jeden Tag Hilfe, ich möchte nur die Tage anzeigen, in denen er gebucht wurde.
Die Sortierung nach DESC und ASC hilft nicht an Wochentagen, ich würde mich über Tipps freuen, wie Sie das erreichen können.
Danke.
Hmm .. das ist ekelhaft, die Tage werden als 'Montag', 'Dienstag' usw. gespeichert?
Wie auch immer, tu das einfach:
%Vor% IMHO Sie haben keinen Grund, Monday, Tuesday, etc
... zu speichern. Wenn Sie den Datums- oder Datetime-Wert speichern, können Sie immer den Wochentagnamen aus diesen Daten zum Abfragezeitpunkt extrahieren, wenn Sie ihn benötigen - entweder mit DATENAME
in Ihrer Abfrage oder verwenden Sie die Funktionalität in Ihrer Präsentationsebene. Die damit verbundenen Kosten rechtfertigen es nicht, IMHO separat zu speichern. Und Sie sollten immer noch in der Lage sein, die nativen Datums- / Datetime-Daten korrekt zu sortieren.
Tags und Links sql-server-2008 sql-order-by