오라클 EXP 함수 - olakeul EXP hamsu

Syntax

오라클 EXP 함수 - olakeul EXP hamsu

Purpose

제곱값을 구하는 오라클 함수로 n2에 대한 n1승의 값을 구한다.

Example

상세 계산식을 보면

POWER(3,1) = 3*1

POWER(3,2) = 3*3

POWER(3,3) = 3*3*3

POWER(5,1) = 5*1

POWER(5,2) = 5*5

POWER(5,3) = 5*5*5

이와 같은 식으로 계산되는 것을 알 수 있습니다.

* 산술함수
abs(n) : n의 절대값
ceil(n) : n보다 크거나 같은 최소정수
cos(n) : n의 cosine 값
cosh(n) : n의 hyperbolic cosine 값
exp : e의 n지수승
floor(n) : n보다 작거나 같은 최대정수
mod(m,n) : m을 n으로 나눈 나머지
power(m,n) : m의 n지수승
sign(n) : n<0이면 -1 / n=0이면 0 / n>0이면 1
sin(n) : n의 sine값
sqrt(n) : n의 루트근 / n<0이면 null
tan(n) : n의 tangent
greatest(a,b,c..) : 그중 가장 큰 값
least(a,b,c...) : 그중 가장 작은 값
round(n,2) : n을 소숫점 2자리에서 사사오입한 값
to_number : 숫자를 포함하는 char값을 number로 변환
trunc : 소숫점이하 ~ 자리에서 잘사한 값

* 문자열함수
decode(GRADE, 'A', 4, 'B', 3, 0) : GRADE필드값이 'A'이면 4, 'B'이면 3, 아니면 0
initcap : 단어의 첫문자를 대문자로
instr(LOC, '') : LOC에서 처음으로 나타나는 공백의 위치를 리턴
length : 길이를 리턴
lower : 소문자로 변환
upper : 소문자를 대문자로 변환
substr(GRADE, 1, 2) : GRADE필드값의 처음 2문자 리턴
dump : oracle 내부 저장형식
user : 현재 oracle 에 접속한 사용자명
replace(char1, str1, str2) : char1에서 str1을 str2로 변환

* 날짜포맷
YYYY또는 SYYY : 년의표시. S를 지정하면 기원전에 -붙는다
YYY, YY, Y : 년의 아래 3자리, 2자리, 1자리
SYEAR or YEAR : 년을 절차로 표시. S를 지정하면 기원전에 -
Q : 년의 1/4
MM : 월
MONTH or MON : 월의 명칭 또는 3문자의 단축형
DDD, DD, D : 년,월,주의 몇번째 날인가 표시
DAY, DY : 요일 또는 3문자의 단축형
AM, PM : 오전(AM)과 오후(PM)의 표시
HH 또는 HH12 : 시각(1~12)
HH24 : 시각(0~23)
MI : 분
SS : 초

* 날짜함수
add_months(D, N) : 날짜 D에 N개월을 가산한다
greatest(D1, D2) : D1과 D2에서 늦은쪽의 날짜
least(D1, D2) : D1과 D2에서 빠른쪽의 날짜
last_day(HIREDATE) : HIREDATE가 포함되어 있는 월의 마지막 일
month_between(A, B) : B부터 A까지의 월 수
next_day(hdate, 'FRIDAY') : hdate후의 첫 금요일
round(hdate) : hdate를 일을 단위로 하여 사사오입
to_char(FDATE, 'YYYY-MM-DD') : FDATE날짜의 값을 우측 포맷형식으로 문자열변환
to_date(FDATE, 'YYYY-MM-DD') : 우측 포맷형식으로 된 문자열을 날짜타입으로 변환

* 존재를 테스트하는 서브쿼리 : EXISTS

  - 서브쿼리가 적어도 1행이상 리턴시 참. 아니면 거짓

* 합집합, 교집합, 차집합

UNION : 합집함. 동일한 행 리턴시 한건으로 표시

UNION ALL : 중복된 값도 모두 표시

INTERSECT : 교집합. 양쪽 쿼리 모두에서 리턴된 행 표시

MINUS : 차집합. 앞의 쿼리에서는 리턴되지만 뒤의 쿼리에서는 리턴되지 않는 행을 리턴

< 문자관련 함수 >

- lower(문자) : 문자를 소문자로

- upper(문자) : 문자열 대문자로

- initcap(문자) : 첫글자만 대문자로

- concat(문자, 문자) : 두문자를 연결

- substr(문자열, 시작숫자, 갯수) : 시작숫자부터 갯수 만큼 문자 추출

- instr(문자열, 찾을문자, 시작위치, 몇번째) : 찾을 문자가 몇번째에 있는지 숫자를 반환

- length(문자열) : 문자열의 문자갯수 반환

- lpad(문자열, 최대길이, 채울문자) : 문자열의 왼쪽을 채울문자로 채움

- rpad(문자열, 최대길이, 채울문자) : 문자열의 오른쪽을 채울문자로 채움

< 숫자관련 함수 >

- round(숫자, 자릿수) : 자릿수  0  ->소수 첫째자리에서 반올림,

                               자릿수  1 ->소수 둘째자리에서 반올림,

                               자릿수 -1 ->정수 1의자리에서 반올림

- trunc(숫자, 자릿수) : 내림

- mod(숫자1, 숫자2) : 숫자1에서 숫자2를 나눈 나머지를 구함

< 날짜관련 함수 >

- select sysdate : sysdate는 현재시각을 의미

- months_between(날짜, 날짜) : 두 날짜사이의 개월차이를 반환

- add_month(날짜, 숫자) : 월에 더한다.

- next_day(날짜, 요일) : 1=일요일, 7=토요일 날짜이후에 해당하는 요일의 날짜를 반환

- last_dat(날짜) : 날짜의 월에 마지막 날짜를 반환.

- round(날짜, 단위) : 날짜를 입력단위(day, month, year)로 반올림. 기본값 day.

- trunc(날짜, 자릿수) : 날짜를 입력단위(day, month, year)로 내림.

< 변환함수 >

- to_char(인자, ['문자열 형식']) : 인자를 문자로 변환, 문자열 형식대로 변환가능

                      ex) 날짜 yy-mm/mon/month-dd hh/hh22/hh24:mi:ss, am/pm, ddsp->영문

                           숫자 9->숫자위치, 0->0으로 채움, L->지역화폐

- to_number(인자) : 숫자로 변환

- to_date(인자) : 날짜로 변환

RR 날짜타입=50년 기준 00~49는 2000년도 // 50~99 1900년도

< Null관련 함수 > (인자끼리 모두 값은 데이터형이어야 한다.)

- NVL(대상, 대상이 Null이면 반환할 값) : 비교대상이 Null인지를 확인하여 값을 대체  

- NYL2(대상, Null이 아닐 때 값, Null일때 값)

- NULLIF(인자1, 인자2) : 두 인자가 같은 값이면 Null을 반환, 아니면 인자1 값 반환

- COALESCE(1,2,3,4,5,6,.....) : Null이 아닌 인자의 값을 반환.

- CASE 대상 WHEN 비교값 THEN 반환값 ELSE 반환값 END : ELSE 구문 없으면 Null값 반환

- DECODE(대상, 비교값, 반환값, 비교값, 반환값, ELSE반환값) :  해당컬럼 값의 일치여부에 따라 다른 값을 반환. 케이스문을 콤마로만 구분.

< 날짜표시 함수 >

- tz_offset(타임존 명칭) : asia/seoul 한국의 타임셋 표시해줌.

< 그룹 함수 > : count(*)를 제외한 Null값에 대해서는 아예 계산에 포함하지 않음. 구문에 distinct가능, group by시 중첩가능

- count()

- sum()

- avg()

- max()

- min()

- stddev() : 표준편차

- variance() : 분산