Benutzer-Werkzeuge

Webseiten-Werkzeuge


Action disabled: index
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

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
prog/oracle_reverse_function.txt · Zuletzt geändert: 2014/11/21 15:33 von gpipperr