dev/DB

[DB/Oracle] 단일행 함수 - 문자 함수편

dev_Step 2022. 5. 21. 15:42
함수 설명
단일 행 함수 단일 행을 입력 받아 단일 행을 반환하는 함수
집계 함수 다중 행을 입력받아 단일 행을 반환하는 함수
분석 함수 다중 행을 입력받아 다중 행을 반환하는 함수
모델 함수 MODEL절에서 사용하는 함수

 

함수 설명
문자 함수 문자값을 조작하는 함수
숫자 함수 숫자 값을 조작하는 함수
날짜 함수 날짜 값을 조작하는 함수
변환 함수 값의 데이터 타입을 변환하는 함수
널 관련 함수 널을 조작하는 함수
비교 함수 값을 비교하는 함수
인코딩 디코딩 함수 값을 조사하거나 디코딩 하는 함수
환경 식별자 함수 인스턴스와 세션에 대한 정보를 제공하는 함수
계층 함수 계층 쿼리에서 사용하는 함수
컬렉션 함수 컬렉션 값을 조작하는 함수
xml 함수 xml 값을 조작하는 함수
JSON 함수 JSON 값을 조작하는 함수

 

 

1. 문자 함수

 1) CHR(n) : n에 해당하는 데이터베이스 캐릭터 셋의 문자값을 반환한다.

 2) LOWER(str) : str을 모두 소문자로 바꿔서 출력한다

 3)UPPER(str) :  str을 모두 대문자로 변경한다

 4) INITCAP(char) : 첫글자는 대문자, 나머지는 소문자로 표현

 5) L(R)PAD( 문자, 숫자, [반복 문자]) : [반복문자] 는 선택이며,  문자의 왼쪽방향으로 숫자만큼의 공간을 만들고 [반복문자]를 생성한 공간만큼 반복한다.

 

 

 6) [ L(R) ]TRIM(char, [set]) : 왼쪽 또는 오른쪽에서 부터 char의 문자열중 set의 단어를 제거한다. set에 포함되지 않은 문자를 만나면 종료된다.  set 의 DEFAULT 값은 ''(공백) 이다.

  - trim은 주로 양측의 공백을 제거하기 위해 사용한다.

 7) substr(char, 숫자(위치), [갯수]) : char를 숫자(위치) 부터 끝까지 나타낸다, 또는 위치부터 갯수만큼 나타낸다.

 8) replace( char, search_string, [Replace_String]) : char 에서 serarch_String을 찾아 replace_string 으로 교환하는데 

replace_String 이 표기 되지 않았으면 NULL로 치환한다.

중복 replace의 정규표현식 REGEXP_REPLACE( char, (search_String1|search_String2 등...), [replace_String])

search_String 옵션으로 아래와 같은 문자를 넣으면 아래와 같이 된다.

'[[:punct:]]' -->특수문자 제거

'[^[:digit:]]' --> 모든 문자 제거(숫자만 남김)

 = 이 외 다른 것들을 확인 하려면 ORACLE 정규표현식을 검색해 보면 된다.

 

 9) TRANSLATE( char, from_String, to_String) : char와 일치하는 from_String문자를  대응하는 위치의 to_String문자로 변환한다. from_String 문자와 일치하지 않는 문자는 변환하지 않는다.

 10) ASCII(char) : char 첫문자의 아스키 값을 십진수로 반환한다.

 

 11. instr(string, substring, [position], [occuurence]) : string에서 substring의 시작위치를 반환하는 함수로

 position이 있다면 String의 position시작위치에서부터 오른쪽으로 substring의 시작위치를 반환하는 것이고

 occurrence가 있다면 occurrence 번째의 substring 문자의 시작 위치를 반환한다.

즉 ab가 substring이라면 occurrence가 2라면 두번째 ab의 시작위치를 반환한다는 것이다.

 

12. LENGTH(char) : char의 문자열 길이를 리턴해준다.