Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / PL SQL Data Types
 

SUBSTR

SUBSTR retrieves part of existing string: v_tx:= substr(string, start position[,number of chars]); The start position could be either a positive or negative integer. Positive value would let SUBSTR start counting the position from the beginning. Negative value would let SUBSTR start counting the position from the end of the string. If your starting point is more than the total number of characters in the string, Oracle returns NULL. SQL> declare   2      v1_tx VARCHAR2(5):='ABCDE';   3      v2_tx VARCHAR2(5);   4  begin   5      v2_tx:=substr(v1_tx,2);   6      DBMS_OUTPUT.put_line(v2_tx);   7      v2_tx:=substr(v1_tx,-2);   8      DBMS_OUTPUT.put_line(v2_tx);   9  end;  10  / BCDE DE PL/SQL procedure successfully completed. The number of characters requested from the string might not always be the length of the resulting string. You might request more characters than the string has. Oracle just returns everything up to the end of the string. SQL> SQL> declare   2      v1_tx VARCHAR2(5):='ABCDE';   3      v2_tx VARCHAR2(5);   4  begin   5      v2_tx:=substr(v1_tx,2,2);   6      DBMS_OUTPUT.put_line(v2_tx);   7      v2_tx:=substr(v1_tx,2,7);   8      DBMS_OUTPUT.put_line(v2_tx);   9  end;  10  / BC BCDE PL/SQL procedure successfully completed.