Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:oracle_reverse_function

Die Oracle SQL reverse Funktion - Einen String in SQL umdrehen

Gelegentlich soll ein String von hinten gelesen werden, diese kann mit der undokumentierten reverse Funktion erfolgen.

Beispiel:

 
SELECT reverse('Gunther') FROM dual;
 
REVERSE
-------
rehtnuG
 
-- test mit PL/SQL
 
SET serveroutput ON
 
 
DECLARE
 v_test varchar2(100);
BEGIN
 SELECT reverse('Gunther') INTO v_test FROM dual;
 dbms_output.put_line(v_test);
END;
/
 
rehtnuG

Dokumentierte Variante mit DBMS_RAW

Mit dem DBMS_RAW Package steht auch eine dokumentierte Funktion zur Verfügung.

Beispiel:

SELECT UTL_RAW.CAST_TO_VARCHAR2( UTL_RAW.REVERSE( UTL_RAW.CAST_TO_RAW( 'Gunther'))) FROM dual
/
 
UTL_RAW.CAST_TO_VA
------------------
rehtnuG

siehe http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_raw.htm#i1003598

Einsatz Beispiel

Es sollen alle EMail Adressen von einem Provider mit verschiedenen Subdomains aus einer Adresse Tabelle gelesen werden.

Beispiel:

# Dummy code:
 
SELECT reverse('gunther@sub.hohkng.cm') FROM dual WHERE  reverse('gunther@sub.hohkng.cm') LIKE 'mc.gnkhoh%';

Damit ist das „%“ nicht am Anfang des Suchstrings und es kann auch ein function Based Index eingesetzt werden.

Quellen

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
prog/oracle_reverse_function.txt · Zuletzt geändert: 2014/11/21 15:33 von Gunther Pippèrr