Oracle SUBSTR Function - SQL Syntax Examples
The Oracle SUBSTR SQL Function is very common, and many times misused.
Below shows the SUBSTR function along with the arguments it takes:
1 | substr(string, position) |
1 | substr(string, position, substring_length) |
The Oracle SUBSTR function returns a portion of string, beginning at character position, substring_length characters long.
Following are important rules to follow along with syntax exemplifying the implications of the rules.
- The first character of
stringis atposition1. Ifpositionis 0, then it is treated as 1.
1 2 3 4 5
SELECT substr('abcd',1) FROM dual --returns: abcd SELECT substr('abcd',0) FROM dual --returns: abcd
- If
positionis positive, then Oracle Database counts from the beginning ofstringto find the first character; ifpositionis negative, then Oracle counts backward from the end ofstring.1 2 3 4 5
SELECT substr('abcd',2) FROM dual --returns: bcd SELECT substr('abcd',-2) FROM dual --returns: cd
- If
substring_lengthis omitted, then Oracle returns all characters to the end of string. If substring_length is less than 1, then Oracle returns null.1 2 3 4 5 6 7 8
SELECT substr('abcd',2) FROM dual --returns: bcd SELECT substr('abcd',2,1) FROM dual --returns: b SELECT substr('abcd',2,0) FROM dual --returns: [null]
string can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. Both position and substring_length must be of datatype NUMBER, or any datatype that can be implicitly converted to NUMBER, and must resolve to an integer. The return value is the same datatype as string.
SUBSTR is most powerful and often used in practice with the Oracle INSTR SQL function. Here are some examples of how to combine SUBSTR with INSTR.
Related Information:
- Oracle INSTR Function - SQL Syntax Examples
The Oracle
INSTRSQL function is popular and performs materially the same operation asinstrfunctions in many other programming... - Oracle SUBSTR with INTSR Function - SQL Syntax Examples
Oracle SUBSTR and INSTR SQL functions are typically used together in practice for parsing a string. Following are...
- Oracle TO_DATE Function - SQL Syntax Examples
The Oracle
TO_DATESQL function is used to convert a TEXT or NTEXT representation of a date into an Oracle... - SQL LIKE - Oracle LIKE Operator - SQL Syntax Examples
The reserved word
LIKEin Oracle SQL represents an operator that performs some basic matching on text.LIKEprovides a... - Oracle TO_CHAR Function - SQL Syntax Examples (Most With Dates, TO_DATE)
This article provides common examples of TO_CHAR using dates....
- XMLFOREST vs XMLELEMENT - Missing vs Empty in SQLX
Like me, some people may have gotten excited about using XMLFOREST in SQLX, only to find that NULL values result...
- Oracle SQL Subselect Statements
It is becoming more common that I find myself surprised by self-proclaimed, seasoned SQL developers who do not even understand...
- Thoughts on Learning Oracle SQL: 1 - The Prelude
So you want to learn SQL. Not a problem. You want to learn Oracle SQL, not a problem. You have...
