Jika Anda mencoba menghindari reverse()
. yang tidak berdokumen fungsi Anda dapat menggunakan utl_raw.reverse()
fungsi
sebagai gantinya, dengan konversi yang sesuai juga dan dari 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
Jadi itu mengambil nilai asli; melakukan utl_i18n.string_to_raw()
pada itu; lalu meneruskannya ke utl_raw.reverse()
; kemudian meneruskan hasilnya kembali melalui utl_i18n.raw_to_char()
.
Tidak sepenuhnya yakin bagaimana itu akan mengatasi karakter multibyte, atau apa yang Anda inginkan terjadi pada karakter tersebut...
Atau variasi dari diskusi yang ditautkan ke @RahulTripathi , tanpa penanganan set karakter:
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
Tetapi utas itu juga mencatat bahwa itu hanya berfungsi untuk karakter bita tunggal.