文書化されていないreverse()
を回避しようとしている場合 utl_raw.reverse()
機能
代わりに、適切な変換もRAWから:
select utl_i18n.raw_to_char(
utl_raw.reverse(
utl_i18n.string_to_raw('Some string', 'AL32UTF8')), 'AL32UTF8')
from dual;
UTL_I18N.RAW_TO_CHAR(UTL_RAW.REVERSE(UTL_I18N.STRING_TO_RAW('SOMESTRING','AL32UT
--------------------------------------------------------------------------------
gnirts emoS
つまり、それは元の値を取っています。 utl_i18n.string_to_raw()
を実行する その上で;次に、それをutl_raw.reverse()
に渡します。;次に、その結果をutl_i18n.raw_to_char()
に戻します。 。
それがマルチバイト文字にどのように対処するのか、またはとにかくそれらに何をしたいのか完全にはわかりません...
または、@RahulTripathiがリンクしているディスカッション のバリエーション 、文字セット処理なし:
select utl_raw.cast_to_varchar2(utl_raw.reverse(utl_raw.cast_to_raw('Some string')))
from dual;
UTL_RAW.CAST_TO_VARCHAR2(UTL_RAW.REVERSE(UTL_RAW.CAST_TO_RAW('SOMESTRING')))
--------------------------------------------------------------------------------
gnirts emoS
しかし、そのスレッドは、それがシングルバイト文字に対してのみ機能することにも注意しています。