Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 



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

  • string : 입력 문자열을 지정한다. 입력 값이 NULL이면 결과로 NULL이 반환된다.
  • position : 문자열을 추출할 시작 위치를 지정한다. 첫 번째 문자의 위치는 1이며, 0으로 지정되더라도 1로 간주된다. 입력 값이 NULL이면 결과로 NULL이 반환된다.
  • substring_length : 추출할 문자열의 길이를 지정한다. 0 또는 음수가 지정되는 경우 공백 문자열이 반환되고, 입력 값이 NULL이면 결과로 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;

  mid(a, 6, 0)          substr(a, 6, 0)       substring(a from 6 for 0)

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

  ''                    ''                    ''

 

--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;

  mid(a, 6, 4)          substr(a, 6, 4)       substring(a from 6 for 4)

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

  '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;

  mid(a, 6, -4)         substr(a, 6, -4)      substring(a from 6 for -4)

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

  ''                    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;

  mid(a, -6, 4)         substr(a, -6, 4)      substring(a from -6 for 4)

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

  'eabc'                'eabc'                '1234'