すべて私にはの注文が必要な次の表があります。開始時刻はです。ORDER BYをSQL Serverの文字列で使用する
例のデータ:このクエリを実行するとき
5:00am-3:00pm
5:00am-4:00pm
7:30am-3:30pm
7:31am-1:01pm
10:00am-3:30pm
10:30am-4:00pm
2:00pm-10:00pm
2:00pm-10:45pm
3:30pm-10:00pm
4:30pm-10:00pm
は現在、私は次のように取得しています:
4:30pm-10:00pm
5:00am-4:00pm
10:30am-4:00pm
2:00pm-10:45pm
5:00am-3:00pm|3:30pm-10:00pm
NA
7:30am-3:30pm
10:00am-3:30pm
7:31am-1:01pm
2:00pm-10:00pm
だから、上記の例の文字列の時代に、私はそうのようにそれらを注文することが必要になります。
SELECT [id]
,[mon]
FROM [DBc83].[dbo].[tmpTable]
ORDER BY mon DESC
、出力は次のとおりです。
id mon
9 7:31am-1:01pm
7 7:30am-3:30pm
2 5:00am-4:00pm
5 5:00am-3:00pm
1 4:30pm-10:00pm
6 3:30pm-10:00pm
4 2:00pm-10:45pm
10 2:00pm-10:00pm
3 10:30am-4:00pm
8 10:00am-3:30pm
これらは**文字列**なので、 'ORDER BY'は文字列になり、そのユースケースに対して**正しい結果**を返します。 ** time **で注文する必要がある場合は、 'TIME'の値を提供する必要があります:....(例えば、その文字列から*開始時刻*を抽出してそれを注文する必要があります) –
ルートの問題は、間違ったデータ型を使用したことです。将来、 'time'または' datetime'カラムのペアを使うことを検討してください。その間に、あなたが持っているものをその場で役立つものに変換する必要があります。 –