VARCHAR2 とその他のフィールドを返すクエリを実行しています。この VARCHAR2 で結果を並べ替えていますが、Oracle のドキュメントで発見したように、言語ソートに関連するいくつかの問題があります。例えば:
SELECT id, my_varchar2 from my_table ORDER BY MY_VARCHAR2;
戻ります:
ID MY_VARCHAR2
------ -----------
3648 A
3649 B
6504 C
7317 D
3647 0
ASCII 値を比較するため、このシーケンスの最初の要素として文字列「0」を返す必要があります。文字列には複数の文字を含めることができるため、最初の文字以外の文字を無視するため、ascii 関数を使用できません。
これを行う最善の方法は何ですか?