Oracle
 sql >> Base de données >  >> RDS >> Oracle

Inverser une chaîne en SQL et PL/SQL Un exemple

Vous pouvez inverser une chaîne en SQL en utilisant la fonction Reverse de SQL. Il est très simple à utiliser, voici la commande pour inverser une chaîne :SELECT reverse ('fox infotech') FROM DUAL;Et si vous voulez inverser une chaîne manuellement en utilisant le bloc PL/SQL, voici l'exemple :set serveroutput on;
DÉCLARER v_string VARCHAR2 (1000); v_reverse VARCHAR2 (1000);BEGIN v_string :='fox infotech'; POUR n INVERSE 1 .. LONGUEUR (chaîne_v) BOUCLE v_inverse :=v_inverse || SUBSTR (chaîne_v, n, 1); FIN DE BOUCLE ; DBMS_OUTPUT.put_line (v_reverse);END;
/Vous pouvez créer votre propre fonction du bloc PLSQL ci-dessus, comme suit :

CRÉER OU REMPLACER LA FONCTION my_reverse (v_string IN VARCHAR2) RETURN VARCHAR2IS v_reverse VARCHAR2 (4000);BEGIN FOR n IN INVERSE 1 .. LENGTH (v_string) LOOP v_reverse :=v_reverse || SUBSTR (chaîne_v, n, 1); FIN DE BOUCLE ; RETURN (v_reverse);EXCEPTION LORSQUE LES AUTRES RETOURNENT ('');END;/

Utilisez cette fonction dans votre requête :

SELECT my_reverse ('fox infotech') FROM DUAL;