この質問はさまざまな形で行われていることは知っていますが、私の要件は少し異なります。
次のようなデータを含むテーブルがあるとします。
ID NAME VALUE
-----------------------------
1 ABC-2-2 X
2 PQRS-1-3 Y
3 ABC-3-2 Z
4 PQRS-1-4 A
5 PQRS-3-4 B
6 MNO-2-1 C
7 AAA-1 D
8 BBB-2 E
9 CCC-3 F
さて、私が期待している出力は次のようになります。
ID NAME VALUE
-----------------------------
7 AAA-1 D
2 PQRS-1-3 Y
4 PQRS-1-4 A
8 BBB-2 E
6 MNO-2-1 C
1 ABC-2-2 X
9 CCC-3 F
3 ABC-3-2 Z
5 PQRS-3-4 B
これは直接の英数字のソートではないことに注意してください。代わりに、最初の「-」の前の値は無視され、フィールドは名前の最初の「-」の後の値でソートされます。
私はPL/SQLにあまり精通していないので、これに関するあらゆる種類のヘルプをいただければ幸いです。
ありがとう。
PS:これはOracleとMySQLの両方で機能するはずであることに注意してください。