오라클 Oracle SUBSTR


오늘은 String 또는 String으로 반환되는 Column 값을 원하는 길이로 자르는 방법에 대해서 알아보도록 하겠습니다.


String 타입의 길이를 자르는 것은 SUBSTR 함수입니다.


※ MS-SQL 에서는 SUBSTRING 함수를 쓰기는 합니다만, 아래의 구문이 전부 먹히는 지는 잘 모르겠습니다.

 

 

SELECT '나는 대한민국 사람입니다' IAM FROM DUAL;

 

 

 

 IAM

 1

 나는 대한민국 사람입니다

 

 이 쿼리를 기본으로 설명 드리겠습니다.

 

 일반적인 SUBSTR 구문입니다.

 

 

SELECT SUBSTR('나는 대한민국 사람입니다', 1, 7) IAM FROM DUAL;

 

 

 

 IAM

 1

 나는 대한민국

 

 

SELECT SUBSTR('나는 대한민국 사람입니다', 4, 4) IAM FROM DUAL;

 

 

 

 IAM

 1

 대한민국

 

 SUBSTR(대상, 시작 위치, 자르고 싶은 길이)로 사용해 주시면 됩니다.

 


 시작점만 정해주고 해당 String의 끝까지 자르는 구문입니다.

 

 

SELECT SUBSTR('나는 대한민국 사람입니다', 4) IAM FROM DUAL;

 

 

 

 IAM

 1

 대한민국 사람입니다

 

SUBSTR(대상, 시작 위치) 해주시면 됩니다.

 

 뒤에서 몇 번 째 부터 시작할 지를 정해주는 구문입니다.

  

 

SELECT SUBSTR('나는 대한민국 사람입니다', -5) IAM FROM DUAL;

 

 

 

 IAM

 1

 사람입니다

 

 SUBSTR(대상, 시작 위치) 의 방법은 동일합니다만, - 를 넣으면, 앞에서부터 몇 번 째가 아니라, 뒤에서부터 몇 번 째 위치에서 시작한다는 의미를 가집니다.

 

 뒤에서 몇 번 째 부터 시작해서 몇 개를 자를 지 정해주는 구문입니다.

  

 

SELECT SUBSTR('나는 대한민국 사람입니다', -5, 2) IAM FROM DUAL;

 

 

 

 IAM

 1

 사람

 

 SUBSTR(대상, 시작 위치, 자르고 싶은 길이)를 쓰는 것은 동일합니다만, 위와 마찬가지로 – 를 사용하여, 시작 위치를 뒤에서부터 계산한다는 차이가 있습니다.

 

 

팁으로…
일반적으로 Column 값을 호출에서 SUBSTR을 쓰실 텐데요. 가끔 Space가 껴서 들어오는 경우가 있습니다.
미리 TRIM 함수를 사용하여, 앞 뒤 Space를 제거하신 후, SUBSTR 함수를 사용하시는 것이 오류 발생을 최소화 할 수 있는 방법입니다.


SELECT SUBSTR(TRIM(' 나는 대한민국 사람입니다 '), 1) IAM FROM DUAL;

 

 

 IAM

 1

 나는 대한민국 사람입니다

 

 

 

Posted by 쭈니루
TAG

댓글을 달아 주세요