반올림해서 출력하기
ROUND(데이터, 자릿수)
SELECT '876.567' AS 숫자, ROUND(876.567,1)
FROM DUAL
# 결과 : 876.6
숫자를 버리고 출력하기
TRUNC(데이터, 자릿수)
SELECT '876.567' AS 숫자,TRUNC(876.567,1)
FROM DUAL
# 결과 : 876.5
| 숫자 | 8 | 7 | 6 | . | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 자리 | -3 | -2 | -1 | 0 | 1 | 2 | 3 |
나눈 나머지 값 출력하기
MOD(데이터, 나누는 값)
# EMPNO가 짝수인 ENAME 출력
SELECT EMPNO, ENAME
FROM EMP
WHERE MOD(EMPNO,2) = 0
나눈 몫 출력하기
FLOOR(데이터, 나누는값)
SELECT FLOOR(10/3)
FROM DUAL
# 결과 : 3
날짜 간 개월 수 출력하기
MONTHS_BETWEEN(SYSDATE, 데이터)
SELECT ENAME, ROUND(MONTHS_BETWEEN(SYSDATE, HIREDATE),0)
FROM EMP
개월 수 더한 날짜 출력하기
ADD_MONTHS(날짜, 더하고자 하는 달 수)
# 100달 뒤
SELECT ADD_MONTHS(TO_DATE('2019-05-01','RRRR-MM-DD'),100)
FROM DUAL
# + 산술 연산으로 더하는 법(1년 3개월 뒤)
SELECT TO_DATE('2019-05-01', 'RRRR-MM-DD') + INTERVAL'1-3' YEAR(1) TO MONTH
FROM DUAL
# 100일 뒤
SELECT TO_DATE('2019-05-01','RRRR-MM-DD')+100
FROM DUAL
특정 날짜 뒤에 오는 요일 날짜
NEXT_DAY(날짜, 원하는 요일)
# 100달 뒤 돌아오는 월요일
SELECT NEXT_DAY(ADD_MONTHS(SYSDATE,100),'MONDAY') AS "100달 뒤 돌아오는 월요일"
FROM DUAL
특정 날짜가 있는 달의 마지막 날짜 출력하기
LAST_DAY(날짜)
# 19년 5월의 마지막 날짜 추출
SELECT '2019/05/22' AS "날짜", LAST_DAY(TO_DATE('2019/05/22', 'RRRR-MM-DD')) AS "마지막 날짜"
FROM DUAL
# KING의 입사한 달의 마지막 날짜
SELECT ENAME, HIREDATE, LAST_DAY(HIREDATE)
FROM EMP
WHERE ENAME ='KING
문자형으로 데이터 유형 변환하기
TO_CHAR(데이터, 원하는 유형)
# KING의 이름, 고용날짜, 고용연도, 고용달, 월급(천 단위)
SELECT ENAME, HIREDATE, TO_CHAR(HIREDATE,'RRRR') AS "연도", TO_CHAR(HIREDATE, 'MM') AS "달", TO_CHAR(SAL, '999,999') AS "월급"
FROM EMP
WHERE ENAME = 'KING'
# 1981년에 입사한 사람들
SELECT ENAME, HIREDATE
FROM EMP
WHERE TO_CHAR(HIREDATE, 'RRRR') = '1981'
# 사원들의 연월일 추출
SELECT ENAME AS 이름, EXTRACT(YEAR FROM HIREDATE) AS 연도, EXTRACT(MONTH FROM HIREDATE) AS 월, EXTRACT(DAY FROM HIREDATE) AS 일
FROM EMP
# 원화를 붙인 백만 단위 월급 표시
SELECT ENAME AS 이름, TO_CHAR(SAL*200, 'L999,999,999') AS 월급
FROM EMP'데이터 분석 > 초보자를 위한 SQL 200제' 카테고리의 다른 글
| NULL값이 포함된 숫자형 데이터 다루기 (0) | 2023.01.25 |
|---|---|
| SQL에서 날짜 조건으로 검색, 날짜 형식 변경하기 (0) | 2023.01.25 |
| 초보자를 위한 SQL 200제 초급(SUBSTR, INSTR, REPLACE, PAD, TRIM) (0) | 2023.01.17 |
| 간단하게 SQL 쿼리 연습하기( SQL Fiddle vs DB fiddle vs LiveSQL) (0) | 2023.01.17 |