Learning/SQL
4. Single-Row-Funtion
눈떠보니 월요일
2021. 7. 11. 17:53
© geralt, 출처 Pixabay
함수의 종류
· Single-Row-Function(숫자함수, 문자함수, 날짜함수, 변환함수, 기타함수)
· Aggregation Funtion(집합함수)
· Analytic Function(분석함수)
· Regular Expression(정규표현식)
문자열 함수 종류
실습1. EMP TABLE의 직원 이름을 첫글자만 대문자로 출력하여라
SELECT INITCAP(ename) FROM emp;
숫자 함수 종류
실습 2. 모든 직원들 급여의 평균을 반올림하여 소수 두번째 자리까지 나타내시오
SELECT ROUND(AVG(sal),2) FROM emp;
Date 타입 종류
· 기본 Date Format은 'RR/MM/DD' or 'DD-MON-RR' 이다.
· Date 타입 Format 확인하기
SELECT value FROM nls_session_parameters WHERE parameter = 'NLS_DATE_FORMAT';
실습 3.
SELECT ADD_MONTHS('20/12/25',12) FROM DUAL;
변환 함수 종류
TO_NUMBER, TO_DATE, TO_CHAR를 사용하여 데이터 타입을 변경함!!
기타 함수
· NULL 관련 함수
- - NVL(expr1, expr2) : expr1이 NULL이면 expr2, 아니면 expr1
- – NVL2 ( expr1, expr2, expr3 ): expr1 이 NOT NULL 이면 expr2, 아니면 expr3
- – NULLIF ( expr1, expr2 ): 두 식이 같으면 NULL 아니면 expr1
- – COALESCE( expr1, expr2,…exprN ): 첫 NOT NULL 인 식 , 없으면 expN
· Condition Expression
<CASE 문>
SELECT ename, job, sal, CASE job WHEN 'CLERK' THEN 1.10*sal
WHEN 'MANAGER' THEN 1.15*sal
WHEN 'PRESIDENT' THEN 1.20*sal
ELSE sal END REVISED_SALARY
FROM emp;
<DECODE 문>
SELECT ename, job, sal, DECODE (job, 'CLERK', 1.10*sal,
'MANAGER', 1.15*sal,
'PRESIDENT', 1.20*sal, SAL)
REVISED_SALARY FROM emp;
점점 내용이 복잡하고 어려워지기 시작...뽜이팅..!!