この質問はさまざまな形で行われていることは知っていますが、私の要件は少し異なります。
次のようなデータを含むテーブルがあるとします。
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の両方で機能するはずであることに注意してください。