それらをテキストとして保存しています(nvarchar
)、これが 辞書順
を取得する理由です .つまり、すべての文字が左から右に比較されます。したがって、4000
30000
より「高い」 (最初の 4 はすでに 3 よりも大きいため、最後の 0 は問題ではありません)。
したがって、正しい方法は、数値として格納することです。ただし、 16.000 with 4.1/2"DP
のような値も使用しているため、それは不可能のようです .次に、別の列を追加します。1 つは順序付けする数値用で、もう 1 つはテキスト表現用です。