SQL に次のデータがあります。
name ID
A[0] 1
A[1] 1
A[2] 1
AA[0] 2
AA[15] 2
AA[27] 2
このデータを、最初に ID で、次に名前で並べ替えたいと思います。ID によるソートは int であるため簡単です。問題は名前にあります。数値でソートしようとすると、a[7]、a[27]、a[3] などの奇妙な値が返されます。アルファベット順でソートすると、a[10]、a[11]...a[19]、a[2] など、期待どおりの結果が得られます。
これは、フィールドが varchar であり、数値部分とテキスト部分の両方があるためだと思います。 . これを並べ替える方法はありますか?各部分 (テキストと数値) の長さが一定ではないため、部分文字列に分割することは悪いオプションのように思えます。
ありがとう!