字符函数:
SUBSTR
In oracle/PLSQL, the substr functions allows you to extract a substring from a string.
The syntax for the substr function is:
substr( string, start_position, [ length ] )
说明:
string is the source string.
start_position is the position for extraction. The first position in the string is always 1.
length is optional. It is the number of characters to extract. If this parameter is omitted, substr will return the entire string.
For example:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', 1, 4) would return 'Tech'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'
substr('TechOnTheNet', -8, 2) would return 'On'
INSTR
In Oracle/PLSQL, the instr function returns the location of a substring in a string.
The syntax for the instr function is:
instr (string1, string2, [start_position], [nth_appearance])
string1 is the string to search.
string2 is the substring to search for in string1.
start_position is the position in string1 where the search will start. This argument is optional. If omitted, it defaults to 1. The first position in the string is 1. If the start_position is negative, the function counts back start_position number of characters from the end of string1 and then searches towards the beginning of string1.
nth_appearance is the nth appearance of string2. This is optional. If omiited, it defaults to 1.
SELECT INSTR('asd~zxc~asd~jkl','~') FROM dual; would return 4
SELECT INSTR('asd~zxc~asd~jkl','~',0) FROM dual; would return 0
SELECT INSTR('asd~zxc~asd~jkl','~',5) FROM dual; would return 8
SELECT INSTR('asd~zxc~asd~jkl','~',5,2) FROM dual; would return 12
SELECT INSTR('asd~zxc~asd~jkl','~',5,3) FROM dual; would return 0
SELECT INSTR('asd~zxc~asd~jkl','~',-1) FROM dual; would return 12
SELECT INSTR('asd~zxc~asd~jkl','~',-1,2) FROM dual; would return 8
SELECT INSTR('asd~zxc~asd~jkl','~',-5,2) FROM dual; would return 4