SUBSTRING 함수는 SUBSTR 함수와 유사하며, 문자열 string 내의 position 위치로부터 substring_length 길이의 문자열을 추출하여 반환한다.
position 값에 음수가 지정되면, SUBSTRING 함수는 문자열의 처음으로 검색 위치를 산정하고, SUBSTR 함수는 문자열의 끝에서부터 역방향으로 위치를 산정한다. substring_length 값에 음수가 지정되면, SUBSTRING 함수는 해당 인자가 생략된 것으로 처리하지만, SUBSTR 함수는 NULL을 반환한다.
SUBSTRING( string, position [, substring_length])
SUBSTRING( string FROM position [FOR substring_length] )
string :
• bit string
• character string
• NULL
position :
• integer
• NULL
substring_length :
• integer
SELECT SUBSTRING('12345abcdeabcde', -6 ,4), SUBSTR('12345abcdeabcde', -6 ,4);
============================================
'1234' 'eabc'
SELECT SUBSTRING('12345abcdeabcde', 16), SUBSTR('12345abcdeabcde', 16);
============================================
'' NULL
SELECT SUBSTRING('12345abcdeabcde', 6, -4), SUBSTR('12345abcdeabcde', 6, -4);
============================================
'abcdeabcde' NULL