現在、いくつかの列を選択してから ORDER_BY ID を実行する SQL クエリがあります。
十分に単純です。出力は、つまり 92、101、105、200、1234 です。
問題は、私が使用しようとしているプログラムが英数字順の入力しか受け付けないことです。つまり、101、105、1234、200、92 である必要があります。
数字を英数字順に並べ替えるには、SQL クエリをどのように変更すればよいですか?
現在、いくつかの列を選択してから ORDER_BY ID を実行する SQL クエリがあります。
十分に単純です。出力は、つまり 92、101、105、200、1234 です。
問題は、私が使用しようとしているプログラムが英数字順の入力しか受け付けないことです。つまり、101、105、1234、200、92 である必要があります。
数字を英数字順に並べ替えるには、SQL クエリをどのように変更すればよいですか?
1つのオプションは、列を変換してからVARCHAR
並べ替えることです
SELECT OrderID
FROM dbo.FooTable
ORDER BY CAST(OrderID AS VARCHAR(255))
これを行うには、数値を文字列に変換します。
order by cast(col as varchar(255))
例えば。
ID 列のデータ型を再キャストできるはずです。
order by cast(ID as varchar(10))
これはほとんどのシステムで動作するはずです