2

現在、いくつかの列を選択してから ORDER_BY ID を実行する SQL クエリがあります。

十分に単純です。出力は、つまり 92、101、105、200、1234 です。

問題は、私が使用しようとしているプログラムが英数字順の入力しか受け付けないことです。つまり、101、105、1234、200、92 である必要があります。

数字を英数字順に並べ替えるには、SQL クエリをどのように変更すればよいですか?

4

3 に答える 3

5

1つのオプションは、列を変換してからVARCHAR並べ替えることです

SELECT OrderID
FROM dbo.FooTable
ORDER BY CAST(OrderID AS VARCHAR(255)) 
于 2013-06-03T21:56:37.710 に答える
2

これを行うには、数値を文字列に変換します。

order by cast(col as varchar(255))

例えば。

于 2013-06-03T21:56:46.230 に答える
0

ID 列のデータ型を再キャストできるはずです。

order by cast(ID as varchar(10))

これはほとんどのシステムで動作するはずです

于 2013-06-03T22:01:31.600 に答える