내가 일하는 업종에서는 DB로 오라클을 많이 사용한다.
예전에는 DW쪽은 Sybase를 많이 사용했는데, 요즘은 DW도 오라클 Exa-data를 많이 사용하는 것 같다.
한때 Sybase를 공부해 보려 했으나, 책과 자료가 너무 없어 접근이 어려웠었다.
아직도, Sybase는 잘 모르겠다. ( 물론, 오라클도 걸음마 수준이긴 하다 )
항상 인터넷을 찾아보는 오라클 함수 및 오류 코드, 힌트와 같은 내용을 카테고리별로 분류하여 정리해 본다.
> 오라클 Syntax
https://ss64.com/ora/
> ERROR 관련 함수
- SQLCODE : 현재 발생한 오류에 대한 오류 코드를 반환.
- SQLERRM : 오류 코드에 대한 오류 메시지 반환.
< 문자열 함수 >
- ASCII( {문자열} )
: 문자를 ASCII코드로 변환한다.
ex) ASCII( 'A' ) => 65
- CHAR( {ASCII 코드} )
: ASCII 코드를 문자로 변환한다.
ex) CHAR( 65 ) => A
- CONCATE( {문자열1}, {문자열2} )
: 문자열1과 문자열2를 조합한다. ( ||와 동일한 효과 )
ex) CONCATE( 'Oracle ', 'Study' ) => Oracle Study
- SUBSTR( {문자열}, {시작Index}, {문자수} ) // 문자수는 생략가능( 생략시 끝까지 ), INDEX는 1부터 시작
: 문자열에서 특정 위치부터 잘라서 반환한다.
ex) SUBSTR( 'ABCDEF', 3, 2 ) => CD
- INITCAP( {문자열} )
: 첫 글자는 대문자, 나머지는 소문자로 반환한다.
ex) INITCAP( 'ABCDEF' ) => Abcdef
- UPPER( {문자열} )
: 문자열을 대문자로 반환한다.
ex) UPPER( 'abcdef' ) => ABCDEF
- LOWER( {문자열} )
: 문자열을 소문자로 반환한다.
ex) LOWER( 'ABCDEF' ) => abcdef
- LPAD( {문자열}, {자릿수}, {채울 문자} )
: 문자열을 기준으로 왼쪽에 '자릿수'만큼 '채울 문자'로 채운다. // 자릿수 부족시 문자열 그대로 반환
ex) LPAD( 'ABCDEF', 10, '-' ) => ----ABCDEF
- RPAD( {문자열}, {자릿수}, {채울 문자} )
: 문자열을 기준으로 오른쪽에 '자릿수'만큼 '채울 문자'로 채운다. // 자릿수 부족시 문자열 그대로 반환
ex) RPAD( 'ABCDEF', 10, '-' ) => ABCDEF----
- LENGTH( {문자열} )
: 문자열을 길이를 반환한다. // 문자의 갯수를 반환함으로, 영문/한글 모두 1개로 계산함.
ex) LENGTH( '한글10' ) => 4
- LENGTHB( {문자열} )
: 문자열의 길이를 Byte단위로 반환한다. // 영문/숫자 1Byte, 한글 2Byte
ex) LENGTHB( '한글10' ) => 6
- REPLACE( {문자열}, {찾을문자열}, {바꿀문자열} )
: 찾을문자열을 바꿀문자열로 변경한다.
ex) REPLACE( 'ABCDEF', 'BC', 'AA' ) => AAADEF
- INSTR( {문자열}, {찾을문자열} )
: 문자열에서 찾을문자열의 (시작) 위치를 반환한다. // INDEX는 1부터 시작
ex) INSTR( 'ABCDEF', 'BC' ) => 2
- TRIM( {문자열} ), LTRIM( {문자열} ), RTRIM( {문자열} )
: 문자열에서 좌/우 공백을 제거한다. ( TRIM:양쪽, LTRIM:왼쪽, RTRIM:오른쪽 )
ex) TRIM( ' ABCDEF ' ) => ABCDEF // 공백없이
* TRIM의 3가지 기능
1) LEADING
: 문자열의 왼쪽에 정의한 문자가 존재하면 절삭처리하여 반환한다.
ex) SELECT TRIM( LEADING 'A' FROM 'ABCD' ) FROM DUAL => BCD
2) TRAILING
: 문자열의 오른쪽에 정의한 문자가 존재하면 절삭처리하여 반환한다.
ex) SELECT TRIM( TRAILING 'A' FROM 'DCBA' ) FROM DUAL => DCB
3) BOTH
: 문자열의 양쪽에 정의한 문자가 존재하면 절삭처리하여 반환한다.
ex) SELECT TRIM( BOTH 'A' FROM 'ABCDCBA' ) FROM DUAL => BCDCB
- TRANSLATE( {문자열}, {찾을문자}, {바꿀문자} )
: REPLACE와 동일
하나, 문자 단위로 처리
ex) TRANSLATE( 'ABCABC', 'A', '-' ) => -BC-BC
'Study > Oracle' 카테고리의 다른 글
오라클 계정 생성 및 사용자 확인 (0) | 2018.10.27 |
---|---|
Orange for Oracle 7.33 다운로드 및 설치 (0) | 2018.10.27 |
Oracle 12c 설치 (0) | 2018.10.27 |
오라클 기본 함수 - 숫자 (0) | 2017.12.04 |
[Oracle 12c] 테이블 엑세스 BATCHED -12c 신기능 (0) | 2017.11.20 |