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;

 

 

점점 내용이 복잡하고 어려워지기 시작...뽜이팅..!!