일단 해보는 코딩/Oracle SQL

[오라클/SQL] 함수 활용해보기(1)

eun_zoey2 2022. 6. 2. 20:16
728x90

1. 숫자 함수

mod(m,n)
round(m,n)
trunc(m,n)
width_bucket (expr,min,max,step)

 

2. 문자 함수

ㄱ. lower (char)

소문자를 대문자로 부

ㄴ. substr(str, m, n) : m~n이 아니라 m부터 시작해서 +n


ㄷ. lpad(expr, n, #) and rpad(expr, n, -) : 문자열이 지정된 n 보다 적을 때 빈 공간을 좌측에 #, 우측에 -로 채움

ㄹ. replace(str, 바뀔_문자, 바꿀_문자)

ㅁ. ltrim(expr) and rtrim(expr) : 좌측과 우측에서 빈자리를 절삭

ㅂ. initcap(expr) : 첫번째 대문자, length(expr) : 문자열의 개수

 


ㅅ. instr(expr, char) :해당 expr에서 첫번째로 찾은 char 문자의 위치

ㅇ. concat(열_명, char) : 지정된 테이블에서 문자열을 합침

함수 내에  concat() 함수를 넣을 수 있다.

3. 날짜 함수


sysdate : (오늘) 날짜를 입력
add_month(int) :해당 월에 (int)숫자를 달로 환원
last_day(date) : 해당 월에 마지막 날짜까지 남은 일수
months_between(date1, date2):date1date-2date를 뺀 일수를 월수로 환원해서 반환
to_date() : 문자열을 날짜_열로 변환한다.

4. 변환 함수 : 날짜나 기타 수식을 변환하는 함수

to_char(date, 'format') : date를 format로 변환,
to_number(char) : char을 숫자로 바꿔(날짜를 숫자로 변환해서 계산이 가능)

cast(열_명 as 형_변환) 해서 explicitly(표면적으로 <=> implicitly(암묵적으로))으로 형변환을 할 수도 있다.
varchar(10), varchar2(10)가 있는데 varchar(10)는 일반적이 영어계열의 문자열 10자리이고, varchar2(10)는 한국어, 중국어, 일본어 등의 표기법으로 10자리를 의미한다.
=>한글 한 자는 영문 한 자인 1비트의 2배인 2비트이다. ab=>한, 영문 10자리는 한글 5자리까지 된다.
convert(char, dst_char, src_char) : 주어진 문자열을 다른 문자열로 변환한다.

▪ US7ASCII : US 7-bit ASCII character set
▪ WE8DEC : 서유럽 8-bit character set
▪ F7DEC : DEC 프랑스 7-bit character set
▪ WE8EBCDIC500 : IBM 서유럽 EBCDIC Code Page 500
▪ WE8ISO8859P1 : ISO 8859-1 서유럽 8-bit character set
▪ UTF8 : Unicode 3.0 UTF-8 국제 character set, CESU-8 compliant
▪ AL32UTF8 : Unicode 3.1 UTF-8 국제 character set

5. 기타 함수


1)DECODE(expr,조건,참_값, 거짓_값) <= 3항 연산자( if ( a>b : 5 :3 ) )
2)CASE WHEN THEN
3) VNL(None Value Logic) : nv1(expr1,expr2) : expr1이 NULL일 때 expr2 값을 할당한다.