주니어 개발자가 되는 중입니다...loading....
Oracle 함수 본문
1. TO_CHAR
: 숫자를 문자로 변환하기
0 : 변환하는 값이 해당하는 자리에 없으면 0으로 표시, 있으면 그 숫자를 표현하는 방식
9 : 변환하는 값이 해당하는 자리에 없으면 생략하고, 있으면 그 숫자를 표현하는 방식
통화를 표시 : L표시를 함
SELECT 12345678, TO_CHAR(12345678, '999,999,999')--중앙 정렬
,TO_CHAR(12345678, '000,000,000')--중앙 정렬
,TO_CHAR(4500000,'L999,999,999')--오른쪽 정렬
,TO_CHAR(180.5,'999,999.999')--자리수에 없는 소수점은 0으로 변함
,TO_CHAR(180.5,'FM999,999.999')--자리수에 없는 소수점은 0 생략
,TO_CHAR(180.5,'999,999,999')--자동 반올림 됨
FROM DUAL;
2. TO_NUMBER
SELECT '1,000,000',TO_NUMBER('1,000,000','999,999,999')
,TO_CHAR(TO_NUMBER('1,000,000','999,999,999')+50000,'L999,999,999')
FROM DUAL;
| '1,000,000' | TO_NUMBER('1,000,000','999,999,999') | TO_CHAR(TO_NUMBER('1,000,000','999,999,999')+50000,'L999,999,999') |
| 1,000,000 | 1000000 | 1,050,000 |
3.DECODE
: 조건에 따라 출력값을 변경해주는 함수
DECODE(컬럼||문자열,'일치값','일치값과 동일했을 때 출력값', '일치값2', '일치값2와 동일했을 때 출력값...)
SELECT JOB_CODE, DECODE(JOB_CODE, 'J1','대표','J2','부사장','J3','부장','J4','과장','사원') AS 'DECODE'
FROM EMPLOYEE;
-- 결과 : 지정하지 않는 나머지 값은 사원으로 바뀐다
| JOB_CODE | DECODE |
| J1 | 대표 |
| J2 | 부사장 |
| J3 | 부장 |
| J4 | 과장 |
| J5 | 사원 |
| J6 | 사원 |
4.NULL의 순서 : NULLS FOIRST||LAST
SELECT BONUS FROM EMPLOYEE
ORDER BY BONUS DESC NULLS LAST; : NULL값 빼고 정렬한 다음에 NULL정렬
SELECT BONUS FROM EMPLOYEE
ORDER BY BONUS DESC NULLS FIRST; : NULL먼저 정렬한 다음에 다른 데이터를 정렬
5. MINUS : 위의 결과값-아래의 결과값 = 위의 결과값에서 아래의 조건식에 맞지 않는 것만 출력
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE='D5'
MINUS --
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE SALARY>=3000000;
6. INTERSECT : 중복되는 로우만 출력
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE='D5'
INTERSECT -- 중복되는 로우만 출력
SELECT EMP_ID, EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE SALARY>=3000000;
7. GROUP BY GROUPING SETS
SELECT DEPT_CODE, JOB_CODE, MANAGER_ID, AVG(SALARY)
FROM EMPLOYEE
GROUP BY GROUPING SETS((DEPT_CODE, JOB_CODE, MANAGER_ID),
(DEPT_CODE, JOB_CODE),
(DEPT_CODE, MANAGER_ID));
'Oracle 오라클' 카테고리의 다른 글
| Oracle JOIN : 테이블을 합쳐서 출력하기 (0) | 2022.10.20 |
|---|---|
| Oracle 그룹함수 GROUP BY (0) | 2022.10.20 |
| Oracle 날짜(DATE) 처리 함수 (0) | 2022.10.20 |
| Oracle SQL 정의 (0) | 2022.10.20 |
| Oracle Database개요 (0) | 2022.10.20 |