Si vous essayez d'éviter le non documenté reverse()
fonction, vous pouvez utiliser le utl_raw.reverse()
fonction
à la place, avec une conversion appropriée également et à partir de 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
Donc, cela prend une valeur d'origine; faire utl_i18n.string_to_raw()
sur ça; puis en le passant à utl_raw.reverse()
; puis en passant le résultat à travers utl_i18n.raw_to_char()
.
Je ne sais pas exactement comment cela fonctionnera avec les caractères multi-octets, ou ce que vous voudriez qu'il leur arrive de toute façon...
Ou une variante de la discussion liée à @RahulTripathi , sans la gestion du jeu de caractères :
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
Mais ce fil note également qu'il ne fonctionne que pour les caractères à un octet.