ENFJ 비전공자 개발스터디

오라클 Oracle SQL 함수 문자 함수 본문

Database

오라클 Oracle SQL 함수 문자 함수

madb 2021. 12. 28. 16:58
반응형

오라클 Oracle SQL 함수 문자 함수 

INITCAP(char)

INITCAP(문자열 또는 컬럼명)

INITCAP 함수는 매개변수로 들어오는 char의 첫 문자는 대문자로 나머지는 소문자로 반환하는 함수다. 

첫 문자를 인식하는 기준은 공백과 알파벳(숫자 포함)을 제외한 문자다. 

공백이나 알파벳이 아닌 문자를 만난 후 다음 첫 알파벳 문자를 대문자로 변환한다.

=>> 즉 영어에서 첫 글자만 대문자로 출력하고 나머지는 전부 소문자로 출력

 

 

LOWER(char)

LOWER(문자열 또는 컬럼명)

LOWER 함수는 매개변수로 들어오는 문자를 모두 소문자로 변환해 반환한다.

 

UPPER(char)

UPPER(문자열 또는 컬럼명)

UPPDER 함수는 매개변수로 들어오는 문자를 모두 대문자로 변환해 반환한다.

 

CONCAT(char1, char2)

CONCAT('문자열1','문자열2')

CONCAT 함수는 ‘||’ 연산자처럼 매개변수로 들어오는 두 문자를 붙여 반환한다.

 

SUBSTR(char,pos,len)

SUBSTR('문자열' 또는 컬럼명,1,4)

문자 함수 중 가장 많이 사용되는 함수로, 잘라올 대사 문자열인 char의 pos번째 문자부터 len길이만큼 잘라낸 결과를 반환하는 함수다. pos 값으로 0이 오면 디폴트 값인 1 즉 첫 번째 문자를 가리키며 음수가 오면 char 문자열 맨 끝에서 시작한 상대적 위치를 의미한다. len 값이 생략되면 pos번째 문자부터 나머지 모든 문자를 반환한다.

 

SUBSTR 함수는 문자 개수 단위로 문자열을 자른다.

=>> 주어진 문자열에서 특정 길이의 문자만 골라낼 때 사용하는 함수 

 

sqld 문제 >> SUBSTR(‘SQL Expert’,5,3) -> ‘Exp

 

SUBSTRB(char,pos,len)

SUBSTR('문자열' 또는 컬럼명,1,4)

 

SUBSTRB는 문자 개수가 아닌 문자열의 바이트(BYTE) 수만큼 잘라낸 결과를 반환한다

(SUBSTRB의 맨 끝 글자인 ‘B’는 BYTE를 의미함)

 

SUBSTR 함수와 문법은 동일하며 

차이점은 추출할 자릿수가 아니라 추출할 바이트 수를 지정하는 것이다.

 

LTRIM(char,set)

LTRIM('문자열' 또는 컬럼명 , '제거할 문자')

LTRIM 함수는 매개변수로 들어온 char 문자열에서 set으로 지정된 문자열을 왼쪽 끝에서 제거한 후 나머지 문자열을 반환한다. 두 번째 매개변수인 set은 생략할 수 있으며 디폴트로 공백 문자 한 글자가 사용된다.

 

RTRIM(char,set)

RTRIM('문자열' 또는 컬럼명 , '제거할 문자')

RTRIM 함수는 반대로 오른쪽 끝에서 제거한 뒤 나머지 문자열을 반환한다.

 

LTRIM이나 RTRIM 모두 왼쪽과 오른쪽 기준으로 set에 명시된 문자를 한 번씩만 제거한다는 점에 주의해야 한다. 

또한 다음과 같이 set 문자로 명시한 문자가 맨 왼쪽이나 맨 오른쪽에 없을 때,

 즉 문자열 중간에 있다면 문자열 전체를 반환한다.

 

LPAD(expr1,n,expr2)

LAPD('문자열' 또는 컬럼명 , 자릿수 , '채울 문자')

LPAD 함수는 매개변수로 들어온 expr2 문자열(생략할 때 디폴트는 공백 한 문자)을 n자리만큼 왼쪽부터 채워 expr1을 반환하는 함수다. 매개변수 n은 expr2와 expr1이 합쳐져 반환되는 총 자릿수를 의미한다. 

 

예를 들어, 서울의 지역 전화번호는 ‘02’인데 전화번호 컬럼에 지역번호가 없으면 LPAD 함수로 번호 02를 자동으로 채워 넣을 수 있다.

 

RPAD(expr1,n,expr2)

RPAD('문자열' 또는 컬럼명 , 자릿수 , '채울 문자')

LPAD와는 반대로 오른쪽에 해당 문자열을 채워 반환한다.

 

REPLACE(char,search_str,replace_str)

REPLACE('문자열' 또는 컬럼명, '문자1' , '문자2')

REPLACE 함수는 char 문자열에서 search_str 문자열을 찾아 이를 replace_str 문자열로 대체한 결과를 반환하는 함수다.

 

문자열에서 공백을 제거할 때 TRIM을 사용하지만 TRIM함수는 문자열 공백은 제거하지 못한다.

하지만 REPLACE 함수를 사용하면 문자열 전체에 있는 공백을 모두 제거할 수 있다.

 

TRANSLATE(expr,FROM_str,to_str)

TRANSLATE 함수는 REPLACE와 유사하다.

expr 문자열에서 FROM_str에 해당하는 문자를 찾아 to_str로 바꾼 결과를 반환하는데

REPLACE와 다른 점은 문자열 자체가 아닌 문자 한 글자씩 매핑해 바꾼 결과를 반환한다.

 

INSTR(str,substr,pos,occur) 

INSTR('문자열' 또는 컬럼, 찾는 글자 , 시작 위치 , 몇 번째인지(기본값은 1))

특정 문자열의 위치를 찾아 반환

 

LENGTH(chr)

LENGTH(컬럼 또는 문자열) / LENGTHB(컬럼 또는 문자열)

문자열의 길이 

 

TRIM ( [ LEADING , TRAILING, BOTH ] [ ,RTIM_CHR ] [ FROM ] TRIM_SRC ) 

TIM_SRC에서 TRIM_CHR를 앞, 뒤 혹은 모두에서 제거한 결과 반환 

 

ASCII ( CHAR ) 

CHAR을 ASCII코드로 변환

반응형