DB/ORACLE

ORACLE - 문자함수(1) CONCAT, INITCAP, LOWER, LPAD, RPAD, LTRIM, RTRIM, SUBSTR, SUBSTRB

보겸삼촌 2019. 7. 3. 11:38

문자형 함수

 

1. CONCAT (CHAR1, CHAR2), ||

  : 문자열 연결

 

# CONCAT

SELECT CONCAT('HELLO', 'BYE'), CONCAT('GOOD', 'BAD')

  FROM DUAL;

  : HELLOBYE  GOODBAD

 

# CONCAT

SELECT CONCAT('HELLO', 'BYE') CONCATS, 'GOOD' || 'BAD'

  FROM DUAL;

   : HELLOBYE GOODBAD

 

 

 

2. INITCAP(CHAR1)

  : CHAR1의 첫 대문자를 대문자로 변환

 

# INITCAP

SELECT INITCAP('good morning')

  FROM DUAL;

  : Good Morning

 

 

# INITCAP

SELECT INITCAP('good/bad morning')

  FROM DUAL;

  : Good/Bad Morning

 

  >  /, 공백 단위로 대문자로 변환

 

 

 

3. LOWER(CHAR1)

# LOWER

SELECT LOWER('GOOD')

  FROM DUAL;

  : good

 

 

 

4. UPPER(CHAR1)

# LOWER

SELECT UPPER('good')

  FROM DUAL;

  : GOOD

 

 

 

5. LPAD(EXPR1, N [,EXPR2])

  : EXPR1을 N만큼 왼쪽으로 늘려서 반환

 

#LPAD

SELECT LPAD('good', 6)

  FROM DUAL;

  : __good 

 

  > __는 공백

 

#LPAD

SELECT LPAD('good', 6, '@')

  FROM DUAL;

  : @@good

 

 

 

6. RPAD(EXPR1, N [,EXPR2])

  : EXPR1을 N만큼 오른쪽으로 늘려서 반환

#RPAD

SELECT RPAD('good', 6)

  FROM DUAL;

  : good__ 

 

  > __는 공백

 

#RPAD

SELECT RPAD('good', 6, '@')

  FROM DUAL;

  : good@@

 

#RPAD (한글포맷 데이터)

SELECT RPAD('홍길동', 8, '#')

  FROM DUAL;

  : 홍길동##

 

 

 

7. LTRIM(CHAR1 [,SET])

  : CHAR1에서 SET으로 지정된 문자를 왼쪽에서 제거

 

#LRTIM

SELECT LRTIM('goodbye', 'g')

  FROM DUAL;

  : oodbye

 

#LRTIM

SELECT LRTIM('goodbye', 'o')

  FROM DUAL;

  : goodbye

 

#LRTIM

SELECT LRTIM('goodbye', 'go')

  FROM DUAL;

  : dbye

  

 

 

8. RTRIM(CHAR1, [,SET])

  : CHAR1에서 SET으로 지정된 문자를 오른쪽에서 제거

#RRTIM

SELECT RRTIM('goodbye', 'e')

  FROM DUAL;

  : goodby

 

 

 

9. SUBSTR(CHAR, POS, LENG)  

  : 문자열 일부를 반환  = 문자 단위로 자름

 

#SUBSTR

SELECT SUBSTR('GOOD MORNING !!!, 8)

  FROM DUAL;

  : RNING !!!

 

  > 문자열의 8번째 문자부터 반환

 

 

#SUBSTR

SELECT SUBSTR('GOOD MORNING !!!', 8, 4)

  FROM DUAL;

  : RMIN

 

  > 문자열의 8번째 문자에서 4문자 만큼 반환

 

 

#SUBSTR

SELECT SUBSTR('GOOD MORNING !!!', -4)

  FROM DUAL;

  : _!!!

 

  > _는 공백

  > 뒤에서부터 4문자 만큼 반환

 

#SUBSTR

SELECT SUBSTR('GOOD MORNING !!!', -4, 2)

  FROM DUAL;

  : !!

 

  > 뒤에서부터 4문자 부터 2번째 문자까지 반환

 

 

#SUBSTR

SELECT SUBSTR('GOOD MORNING !!!', -4, 0)

  FROM DUAL;

  : (null)

 

  > 뒤에서부터 4문자 부터 0번째 문자까지 반환