Oracle 10 SUBSTR(), REPLACE(), TRANSLATE(), INSTR(), SYSTIMESTAMP()

2023. 10. 6. 11:57database

SUBSTR

SUBSTR(char, position, substring_length)

char를 position 위치에서 우측으로 substring_length만큼 자른다

REPLACE(char, search_string, replacement_string)

TRANSLATE - 일대일 대응

TRANSLATE('문자열', 'AB', 'X') -> 'A'는 'X'로 대응 // 'B'는 대응문자가 없어서 삭제

TRANSLATE('문자열', 'AB', 'X_')

 

*** 숫자와 문자가 섞인 데이터에서 숫자를 제거하는데 헤맸다

TRANSLATE(문자열, ' 0123456789', ' ') -> 문자열이 한글이나 알파벳 숫자가 섞여 있는 상태이다.

숫자만 제거하고 싶을 때 치환문자를 ' '으로 하면 한글, 알파벳을 그대로 출력되고 숫자는 대응하는 문자가 없어서 제거된다.

 

 

translate 예제

예제1)  't'를 'o'로 바꿔 출력한다. 

예제2)  알파벳과 숫자가 섞여 있을 때 숫자를 제거한다

 

'e'가 'a'로 바뀌고 'l'은 사라졌다

대문자를 소문자로 소문자를 대문자로 변환한다

 

translate - '!', '?' 특수문자 제거하기

숫자나 문자를 다른 문자로 변환하기

 

INSTR(문자열) - indexof('문자')처럼 문자열의 위치를 찾는 DBMS 함수 

INSTR(string, substring, start, 반복횟수 )

2번 반복된 문자열의 인덱스를 출력한다.

MOD(n1, n2) - n1을 n2로 나눈 나머지 출력

POWER(n1, n2) - n1을 n2 거듭제곱한다.

 

 

SYSTIMESTAMP()

floor - 소수점 이하를 버린다