[] 괄호는 사용안해도 된다는 뜻.
- 나머지
MOD(m, n)
m/n의 나머지가 나옴.
SELECT MOD(13, 8) FROM DUAL;
- 절삭
TRUNC(m,[,n])
m: 수식or숫자, n:소수점 출력할 갯수(생략하면 정수로 계산)
SELECT 13/8, TRUNC(13/8), MOD(13,8) FROM DUAL => 13/8 이 계산됨, 13/8이 소수점이하절삭되서 나옴,MOD는 나머지 5가 나옴
SELECT TRUNC(15.693), TRUNC(15.79,0), TRUNC(15.79,-1) FROM DUAL; => 15,15
- 반올림
ROUND(m [, n]) :
m: 숫자 n:반올림할 자릿수(생략하면 정수로 반올림)
SELECT ROUND(15.693), ROUND(15.193), ROUND(15.193, 1), ROUND(15.193, 0), ROUND(15.193, -1) FROM DUAL; =>
기본: 정수형 반올림 소수점1의 자리까지 출력해서 반올림,0은 안쓰는것과 동일하다, -1는 1의 자리에서 반올림(20출력)
- 숫자, 날짜를 문자로 변환(VARCHAR2)
TO_CHAR
- 문자를 날짜로 변환
TO_DATE
EX1) 시스템날짜를 문자로 변환하여 출력
SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD'),
TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'),
TO_CHAR(SYSDATE, 'YYYY-MM-DD DAY'),
TO_CHAR(SYSDATE, 'YYYY"년" MM"월" DD"일" ') FROM DUAL;
EX2) 12,345 / 0,012,345 / #### / ###### => 9의 자리수가 넘치면 어떻게든 표시 되지만 모자르면 #으로 채워져서 표시
SELECT TO_CHAR(12345, '999,999'), TO_CHAR(12345, '0,999,999')
,TO_CHAR(12345, '999'), TO_CHAR(12345, '0,999') FROM DUAL;
EX3) 원화로 표시
SELECT TO_CHAR(12345, 'L9,999,999') FROM DUAL;
EX4) MI로 표시일때는 양수는 그냥 표시 음수면 숫자 뒤에 마이너스 부호가 들어간다. / PR이 뒤에 있을때는 양수는 그냥 표시 음수이면 마이너스 부호빠지고 <> 괄호 처진다.
SELECT TO_CHAR(1234, '999,999MI'), TO_CHAR(-1234, '999,999MI'),
TO_CHAR(1234, '999,999PR'), TO_CHAR(-1234, '999,999PR') FROM DUAL;
EX5) V다음에 오는 9숫자 갯수만큼 숫자뒤에 0이 붙는다. V이전의 9갯수가 숫자의 갯수보다 적으면 #으로 표시됨
SELECT TO_CHAR(123, '99999V9999') FROM DUAL;
'오라클' 카테고리의 다른 글
오라클 NULL : 값이 존재하지 않는 상태 (0) | 2013.05.30 |
---|---|
오라클 CASE ~ END : 조건에 따라 실행을 다르게 하는 조건문 (0) | 2013.05.30 |
오라클 날짜 표현 (0) | 2013.05.30 |
2.스칼라 함수 (단일행) (0) | 2013.05.29 |
1.오라클 기초 (0) | 2013.05.28 |