얼렁뚱땅 우왕좌왕
SQL 연습문제로 함수 알아보기 본문
■ NVL(NULL값인칼럼, 대체하고 싶은 값)
: NULL 값인 데이터를 대체 값으로 출력한다.
■ DECODE : IF문과 같은 기능을 함.
SELECT DECODE(9, 10, 'A', 9, 'B', 8, 'C', 'D')
FROM DUAL;
-- B
-- 9가 10이면 A, 9면 B, 8이면 C, 모두 아니면 D 를 출력한다.
■ ROUND, TRUNC : 반올림 , 버림
SELECT ROUND(345.123, -1 ) 결과1, TRUNC(345.123, -1 ) 결과2 FROM DUAL;
-- ROUND >> -1 : 1의 자리 숫자에서 반올림
-- TRUNC >> -1 : 1의 자리 숫자에서 버림
결과1 : 350
결과2 : 340
SELECT ROUND(345.125, 2 ) 결과1, TRUNC(345.125, 2 ) 결과2 FROM DUAL;
-- ROUND >> 2 : 소수점 3번째 자리에서 반올림
-- TRUNC >> 2 : 소수점 3번째 자리에서 버림
결과 1 : 345.13
결과 2 : 345.12
■ TRANSLATE (C1,C2,C3): C1 문자열에 포함된 문자 중 C2에 지정된 문자가 C3문자로 각각 변경 C3 문자가 C2 문자보다 적은 경우 해당 문자는 제거
■ REPLACE(C1, C2, [C3]) : 문자나 문자열을 치환
C1에 포함된 C2문자를 C3 값으로 치환,
C3가 없는 경우 찾은 문자를 제거한다.
■ INSTR (C1,C2,[M,[N]])
: C1 문자열에서 C2 문자가 처음 나타나는 위치를 리턴
M은 시작위치, N은 N 번째
■ ABS(N) : 절대값
■ SIGN(N) :
양수, 음수, 0을 모두 구분, 각 1, 0, -1 리턴
음수인지를 판단하거나 비교시 사용
■ POWER(N, Y) : 승수 값(N의 Y승)
■ SQRT(N) : N의 제곱근
■ GREATEST, LEAST(M,N1...)
열거된 항목 중 가장 큰 또는 작은 항목을 리턴
M의 데이터 항목에 따라 N의 항목도 판단
■ FLOOR(N)
N과 같거나 작은 수 중에 가장 큰 정수
■ CEIL(N)
N과 같거나 같거나 큰 수 중에 가장 작은 정수
소수점 이하의 값이 존재하면 무조건 올림하는 함수, 급여, 세금과 같은 금액관련 계산 중에 자주 사용된다.
■ REMAINDER(C,N)
N으로 나눈 나머지, MOD 함수와 유사
MOD : (원값)-(나눌값*나눈값을 소수첫째자리에서 버림한값)
ex) 10 - 3 * floor(10/3)
REMAINDER : 원값)-(나눌값*나눈값을 소수첫째자리에서 반올림한값)
ex) 10 - 3 * ROUND(10/3)
■ WIDTH_BUCKET(C, MIN, MAX, B)
MIN에서 MAX의 범위로 설정하고 B 구간으로 나누어 C가 어느 구간에 속하는지 리턴
'DB' 카테고리의 다른 글
서브쿼리 (0) | 2024.08.26 |
---|---|
SQL 날짜함수 (0) | 2024.08.26 |
[ORACLE] 용어 정리 (0) | 2024.07.15 |
[ORACLE] 트리거 (0) | 2024.07.15 |
[ORACLE] 프로시져 (0) | 2024.07.15 |