DB/ORACLE

ORACLE - 문자함수(2), REPLACE, TRANSLATE, TRIM, ASCII, INSTR

보겸삼촌 2019. 7. 3. 13:47

10. SUBSTRB(CHAR, POS, LENG)

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

 

#SUBSTRB

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

  FROM DUAL;

  : RNIN

 

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

 

 

 

11. REPLACE(CHAR, SRC_STR, REP_STR)

  : 문자열 일부를 대체하여 반환

 

# REPLACE

SELECT REPLACE('GOOD MORINIG !!!!', 'MORNING', 'EVENNING')

  FROM DUAL;

  : GOOD EVENNING !!!!

 

 

 

12. TRANSLATE

#TRANSLATE

SELECT TRANSLATE('YOU ARE NOT ALONE', 'YOU', 'WE')

  FROM DUAL;

  : WE ARE NET ALENE

 

 

 

13. TRIM

 

  : 문자열의 공백 제거

# TRIM

SELECT TRIM( leading from '   good   ')

  FROM DUAL;

  : good__

 

  > _ 공백

  > 앞 쪽 공백 제거

 

# TRIM

SELECT length(TRIM( trailing from ' good '))

  FROM DUAL;

  : 5

 

 > 뒤 쪽 공백 제거

 

# TRIM

SELECT length(TRIM( both from ' good '))

  FROM DUAL;

  : 4

 

  > 양쪽 공백 제거

 

 

 

14. ASCII()

 

  : 해당 문자의 아스키코드 값을 가져옴

#ASCII

SELECT ASCII('A')

  FROM DUAL;

  : 65

 

 

 

15. INSTR()

 

  : 해당 컬럼에 찾고자 하는 문자가 포함되어 있는 여부를 확인

  포함되어 있는지의 여부만 판단할 때는 LIKE 함수를 사용하면 되나, 포함되어 있으며 위치가 어디인지 궁금할 때 사용

 

 

  INSTR('비교대상', '비교하고자 하는 값', '비교 시작 위치', 검색된 결과의 순번)

# INSTR

SELECT INSTR('good morning haha', 'n', 1, 3)

  FROM DUAL;

 

  : 17

 

  > good morning haha 구문에서 'n'이라는 문자를 찾는데 1번째 위치에서 찾아지는 'n'의 위치