-
오라클 SQL - 숫자함수, 날짜함수, 변환함수웹프로그래밍/데이터베이스 2018. 6. 20. 10:57
--##숫자함수
-- 절대값 ABS
SELECT ABS(-15) FROM DUAL;
-- 버림 FLOOR
SELECT FLOOR(34.5678) FROM DUAL;
-- 반올림 ROUND
SELECT ROUND(35.123, 1), ROUND(45.123, 2), ROUND(78.123 -1) FROM DUAL;
-- 잘라내기 TRUNC
SELECT TRUNC(12.345, 2), TRUNC(34.567, 0 ), TRUNC(78.901, -1) FROM DUAL;
--##날짜함수
SELECT SYSDATE FROM DUAL;
SELECT SYSDATE-1, SYSDATE, SYSDATE +1 FROM DUAL;
--날짜 사이 간격 계산 MONTHS_BETWEEN
SELECT SYSDATE, HIREDATE, MONTHS_BETWEEN(SYSDATE, HIREDATE) FROM EMP WHERE DEPTNO = 10;
--개월 수 더하는 ADD_MONTHS
SELECT ENAME, HIREDATE, ADD_MONTHS(HIREDATE,3) FROM EMP WHERE DEPTNO=10;
--요일에 해당하는 가장 빠른 날짜 반환 NEXT_DAY
SELECT SYSDATE, NEXT_DAY(SYSDATE, '수요일') FROM DUAL;
SELECT SYSDATE, NEXT_DAY(SYSDATE, '수'), NEXT_DAY(SYSDATE,4) FROM DUAL;
--언어 변경
ALTER SESSION SET NLS_LANGUAGE=AMERICAN;
SELECT SYSDATE, NEXT_DAY(SYSDATE, 'WEDESDAY') FROM DUAL;
ALTER SESSION SET NLS_LANGUAGE=KOREAN;
--해당 달의 마지막 날짜 반환 LAST_DAY
SELECT SYSDATE, LAST_DAY(SYSDATE) FROM DUAL;
--ROUND 날짜함수 반올림(15일 기준으로)
SELECT HIREDATE, ROUND(HIREDATE, 'MONTH') FROM EMP WHERE DEPTNO=10;
--TRUNC 날짜함수 잘라내기
SELECT HIREDATE, TRUNC(HIREDATE,'MONTH') FROM EMP WHERE DEPTNO=10;
--##변환 함수
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD DAY') FROM EMP WHERE DEPTNO=10;
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YY/MON/DD DY') FROM EMP WHERE DEPTNO=10;
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD, HH24:MI:SS') FROM DUAL;
--숫자를 문자, L 각 지역(나라)별 통화기호
SELECT ENAME, SAL, TO_CHAR(SAL, 'L999,999') FROM EMP WHERE DEPTNO=10;
-- 숫자를 문자, 숫자를 천 단위로 구분
SELECT ENAME, SAL, TO_CHAR(123456, '999,999,999') FROM EMP WHERE DEPTNO=10;
-- 문자를 날짜, 1981년 2월 20일에 입사한 사원을 검색
SELECT ENAME, HIREDATE FROM EMP WHERE HIREDATE=TO_DATE(19810220, 'YYYYMMDD');
-- 문자를 날짜, 날짜 계산시 형변환(TRUNC로 소수점 잘라냄)
SELECT SYSDATE-'2008/01/01' FROM DUAL; --오류발생
SELECT TRUNC(SYSDATE-TO_DATE('2008/01/01', 'YYYY/MM/DD')) FROM DUAL;
-- 문자를 숫자,
SELECT '10,000' + '20,000' FROM DUAL; --오류발생
SELECT TO_NUMBER('10,000','999,999') + TO_NUMBER('20,000','999,999') FROM DUAL;
'웹프로그래밍 > 데이터베이스' 카테고리의 다른 글
오라클 SQL - DDL(테이블 생성, 변경, 삭제) (0) 2018.06.20 오라클 SQL - 일반함수, 그룹함수 (0) 2018.06.20 오라클 - SQL 문자함수 (0) 2018.06.17 오라클 SELECT 문 - 데이터 추출 (0) 2018.06.17 SQL 기초 (0) 2018.06.17