*table 생성
create table table_name(
컬럼명1 데이터타입(크기),
...
컬럼명2 데이터타입(크기)
)
create table phone(
no number,
tel varchar2(13)
);
insert into phone
values(1,'02)123-4567');
insert into phone
values(1,'031)123-4567');
insert into phone
values(1,'055)1111-4567');
----------------------------------------------
1. 사원명,입사일을 최근에 입사한 사원부터 출력
2. 1의 결과에서 사원명은 앞글자만 대문자로 출력
3-1. 2의 결과내 5월에 입사한 사원만 출력-----
3-2. '2009-11-23'에서 년을 추출 -> 출력예: 2009년
3-3. '2009-11-23'에서 월을 추출 -> 출력예: 11월
3-4. '2009-11-23'에서 일을 추출 -> 출력예: 23일
4. 전화번호 '02)123-4567' 에서 지역번호를 추출
5. 전화번호 '031)123-4567' 에서 지역번호를 추출
select tel,substr(tel,1, ')'의 위치-1 )
from phone
*날짜형 함수
-- 오늘 날짜 조회
날짜+-숫자 =날짜
add_months()
months_between()
next_day()
last_day()
-----------
*변환함수
날짜(or 숫자)를 문자로 변환 : to_char
문자를 날짜로 변환 : to_date
select sysdate, to_date('09/11/12','YY/MM/DD'),
to_char(sysdate,'YYYY-MM-DD'),
TO_CHAR(to_date('09/11/12','YY/MM/DD'), 'YYYY-MM-DD')
from dual
/
select sysdate, sysdate-1,sysdate+1,sysdate+230
from dual
/
select sysdate, add_months(sysdate,1)
from dual
/
select sysdate, add_months(sysdate,-1)
from dual
/
select sysdate, hiredate,trunc(months_between(sysdate,hiredate)) as
from emp
where deptno=10
/
select sysdate, next_day(sysdate,'?')
from dual
/
select sysdate,last_day(sysdate),to_date('2009-02-16') 상당히 중요 to_date
from dual
/
select sysdate,last_day(sysdate),to_date('2009-02-16','YYYY-MM-DD')
from dual
/ 오라클의 기본세팅이 그대로 반영이 되어서 00/00/00 으로 나타난다.
select sysdate,last_day(sysdate),to_date('2009-02-16','YYYY-MM-DD'),
last(to_date('2009-02-16','YYYY-MM-DD'))
from dual
/
'Study > 오라클' 카테고리의 다른 글
1111 함수 (0) | 2009.11.12 |
---|---|
1110 함수(날짜, abs, to_char_power,sqrt) (0) | 2009.11.11 |
1106 select 문 및 조건 (0) | 2009.11.06 |
1105 where 조건 비교 연산자 논리 연산자 (0) | 2009.11.05 |
1104 조회,비교연산자,논리연산자,upper,lower,inicap (0) | 2009.11.05 |