MID 함수

설명

MID 함수는 문자열 string 내의 position 위치로부터 substring_length 길이의 문자열을 추출하여 반환한다. 만약, position 값으로 음수가 지정되면, 문자열의 끝에서부터 역방향으로 위치를 산정한다. substring_length는 생략할 수 없으며, 음수가 지정되는 경우 이를 0으로 간주하여 공백 스트링을 반환한다.

MID 함수는 SUBSTR 함수와 유사하게 동작하나, 비트 스트링에 대해서는 적용할 수 없고,  substring_length 인자를 생략할 수 없으며, substring_length에 음수가 지정되면 공백 스트링을 반환한다는 차이점이 있다.

구문

MID( string, position, substring_length )

 

string :

character string

NULL

 

position :

integer

NULL

 

substring_length :

integer

NULL

예제

CREATE TABLE mid_tbl(a VARCHAR);

INSERT INTO mid_tbl VALUES('12345abcdeabcde');

 

--it returns empty string when substring_length is 0

SELECT MID(a, 6, 0), SUBSTR(a, 6, 0), SUBSTRING(a, 6, 0) FROM mid_tbl;

 

==================================================================

  ''                    ''                    ''

 

--it returns 4-length substrings counting from the 6th position

SELECT MID(a, 6, 4), SUBSTR(a, 6, 4), SUBSTRING(a, 6, 4) FROM mid_tbl;

 

==================================================================

  'abcd'                'abcd'                'abcd'

 

--it returns a empty string when substring_length < 0

SELECT MID(a, 6, -4), SUBSTR(a, 6, -4), SUBSTRING(a, 6, -4) FROM mid_tbl;

 

==================================================================

  ''                    NULL                  'abcdeabcde'

 

--it returns 4-length substrings at 6th position counting backward from the end

SELECT MID(a, -6, 4), SUBSTR(a, -6, 4), SUBSTRING(a, -6, 4) FROM mid_tbl;

 

==================================================================

  'eabc'                'eabc'                '1234'