sql >> Databáze >  >> RDS >> Oracle

Obrácení řetězce v SQL a PL/SQL Příklad

Řetězec v SQL můžete obrátit pomocí funkce Reverse SQL. Použití je velmi jednoduché, následuje příkaz pro obrácení řetězce:SELECT reverse ('fox infotech') FROM DUAL;A pokud chcete řetězec obrátit ručně pomocí bloku PL/SQL, zde je příklad:set serveroutput on;
DECLARE v_string VARCHAR2 (1000); v_reverse VARCHAR2 (1000);BEGIN v_string :='fox infotech'; FOR n ZPÁTEČNĚ 1 .. DÉLKA (v_řetězec) SMYČKA v_reverzní :=v_obrácená || SUBSTR (v_řetězec, n, 1); KONEC SMYČKY; DBMS_OUTPUT.put_line (v_reverse);END;
/Můžete si vytvořit vlastní funkci výše uvedeného bloku PLSQL, a to následovně:

FUNKCE VYTVOŘIT NEBO NAHRADIT my_reverse (v_řetězec V VARCHAR2) NÁVRAT VARCHAR2IS v_reverse VARCHAR2 (4000);ZAČÁTEK PRO n ZPĚT 1 .. DÉLKA (v_řetězec) SMYČKA v_reverzní :=v_reverse || SUBSTR (v_řetězec, n, 1); KONEC SMYČKY; RETURN (v_reverse);VÝJIMKA KDYŽ SE POTOM VRÁTI OSTATNÍ ('');END;/

Použijte tuto funkci ve svém dotazu:

SELECT my_reverse ('fox infotech') FROM DUAL;
  1. Proč mi Oracle DECODE dává jinou hodnotu než NVL?

  2. Jak nastavit asynchronní replikaci mezi clustery MariaDB Galera

  3. Porušení omezení UNIQUE KEY na INSERT WHERE COUNT(*) =0 na SQL Server 2005

  4. Vrátí Oracle transakci zpět kvůli chybě?