SELECT test_column FROM test_table ORDER BY test_column
は私にこれを与える:SQL - ORDER BYが正しく動作していませんか?
1
12
123
2
3
なぜ:あなたはポイントを得た@JosephPla
1
2
3
12
123
は、ありがとうございました。数字のような文字列をどのようにソートできますか?
SELECT test_column FROM test_table ORDER BY test_column
は私にこれを与える:SQL - ORDER BYが正しく動作していませんか?
1
12
123
2
3
なぜ:あなたはポイントを得た@JosephPla
1
2
3
12
123
は、ありがとうございました。数字のような文字列をどのようにソートできますか?
は
SELECT test_column
FROM test_table
ORDER BY cast(test_column as int)
を試してみてくださいしかし、あなたは正しいものに列の型を変更することになります。
'CAST'はインデックスを使用しません。 – Kermit
ソートが機能しています。辞書順(アルファベット順)です。その列はtext(char、varchar、...)型を持つように見えるので、あなたが得る順序はテキストで数値ではありません。
数値の並べ替えが必要な場合は、数値の列タイプ(intなど)を使用します。 (または、適切な列をキャスト。)
カラムのタイプがvarcharかそれに類するものか確認してください。数値ではなく文字列値で並べ替えられているようです。列に数字だけが含まれる場合は、int型の方がよいでしょう。
あなたは文字列ではなく値によって発注されています。 –
どの列がtest_columnですか? – slavoo
SELECT test_column FROM test_table ORDER BY convert(int、test_column) –