1. DUAL 테이블
DUAL : 오라클의 기본적인 테이블, 일반유저가 사용 가능한 테이블
계산식이나 함수를 쓸 때 사용
형식) select 함수명(처리할값) from DUAL;
SQL> select length('abcde') from DUAL;
2. 문자 함수 - LOWER, UPPER, SUBSTR, LENGTH
[ LOWER, UPPER, LENGTH ]
Q1. emp 테이블에서 사원의 ename 길이가 5이상인 사원을 검색해서
그 사원의 empno,ename,job 순으로 출력하시오.
SQL> select empno,LOWER(ename) 소문자로,UPPER(job) 대문자로
from emp where LENGTH(ename)>=5;
[ SUBSTR(대상_문자열,시작위치,뽑아낼_문자열_개수) ]
SQL> select SUBSTR('oracletest',1,6) from dual;
결과> oracle
Q2. emp 테이블에서 ename의 첫글자가 K보다 크고 Y보다 작은
사원을 검색해서 그 사원의 empno,ename,job 순으로 출력하시오
(단, 이름순으로 정렬하시오)
SQL> select empno,ename,job from emp
where SUBSTR(ename,1,1)>'K' and SUBSTR(ename,1,1)<'Y'
order by ename;
3. 숫자 함수 - ROUND, TRUNC, MOD
[ ROUND - 반올림 ]
SQL> select ROUND(4567.678),ROUND(4567.678,0),ROUND(4567.678,2),
ROUND(4567.678,-2) from dual;
결과> 4568 4568 4567.68 4600
[ TRUNC - 버림 ]
SQL> select TRUNC(12.345,2), TRUNC(34.567,0), TRUNC(56.789),
TRUNC(78.901,-1) from dual;
결과> 12.34 34 56 70
[ MOD - 나머지 ]
SQL> select MOD(34,2), MOD(34,5), MOD(34,7) from dual;
결과> 0 4 6
4. 날짜 함수 - SYSDATE, MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY, LAST_DAY
SYSDATE : 시스템에 저장된 현재 날짜
[ MONTHS_BETWEEN - 두 날짜 사이의 개월 수 ]
SQL> select ename,hiredate,MONTHS_BETWEEN(sysdate,hiredate)
근무일수 from emp where deptno=10 order by 근무일수 desc;
결과> ENAME HIREDATE 근무일수
---------- -------- ----------
CLARK 81/06/09 456.536345
KING 81/11/17 451.27828
MILLER 82/01/23 449.084732
[ ADD_MONTHS - 지정_날짜 + 개월_수 ]
SQL> select ADD_MONTHS(sysdate,5) "5개월후" from dual;
결과> 5개월후
--------
19/11/25
[ NEXT_DAY - 지정날짜의 돌아오는 요일의 날짜를 반환 ]
SQL> select NEXT_DAY(sysdate,'화요일') from dual;
결과> NEXT_DAY
--------
19/07/02
[ LAST_DAY - 해당 달의 마지막 날짜를 반환 ]
SQL> select ename,hiredate,LAST_DAY(hiredate)-hiredate "근무일수"
from emp where ename like '_A%' order by 3 desc;
결과> ENAME HIREDATE 근무일수
---------- -------- ----------
JAMES 81/12/03 28
WARD 81/02/22 6
MARTIN 81/09/28 2
'Oracle Data Base' 카테고리의 다른 글
[SQL Plus] JOIN - Equi , Outer, Self, ANSI (0) | 2019.06.27 |
---|---|
[SQL Plus] DDL - create , alter, drop (0) | 2019.06.26 |
[SQL Plus] GROUP BY, HAVING, 그룹 함수 - min, max, sum, avg, count(*) (0) | 2019.06.26 |
[SQL Plus]select구문 - 데이터 검색 (0) | 2019.06.24 |
[SQL Plus] create, grant, insert, update, delete 구문 정리 (0) | 2019.06.24 |