hyeonga_code
Database_72_DATETIME 응용_TIMESTAMP 본문
-- TIMESTAMP 데이터 유형
-- TIMESTAMP
-- 데이터 타입의 확장입니다.
-- 년, 월, 일, 시, 분, 초(소수 표기)값을 포함합니다.
-- TIMESTAMP WITH TIME ZONE
-- TIMESTAMP의 모든 값에 더해 시간대 변위 값을 포함합니다.
-- TIMESTAMP WITH LOCAL TIME ZONE
-- TIMESTAMP 데이터 유형과 동일합니다.
-- 데이터베이스에 데이터가 저장될 때 데이터베이스 시간대로 정규화됩니다.
-- 데이터가 검색될 때 유저는 세션 시간대의 데이터을 볼 수 있습니다.
-- EMPLOYEES 테이블을 복사하여 새로운 테이블을 생성합니다.
CREATE TABLE emp60
AS
SELECT employee_id, last_name, job_id, hire_date
FROM employees
WHERE department_id = 60;
/*
Table EMP60이(가) 생성되었습니다.
*/
-- 입사일의 유형을 변경합니다.
ALTER TABLE emp60
MODIFY hire_date TIMESTAMP;
/*
Table EMP60이(가) 변경되었습니다.
*/
SELECT * FROM emp60;
-- ORDERS 테이블을 생성합니다.
CREATE TABLE orders (
ord_no NUMBER(6),
prod_id CHAR(8),
ord_date DATE, --주문날짜
payment_date TIMESTAMP(0), --결제날짜
delivery_date TIMESTAMP(0) WITH TIME ZONE, --배송날짜
arrival_date TIMESTAMP(0) WITH LOCAL TIME ZONE); -- 도착날짜
-- TIMESTAMP( n ) : 저장할 자리수를 지정합니다.
-- default 값은 6자리입니다.
/*
Table ORDERS이(가) 생성되었습니다.
*/
-- ORDERS 테이블에 데이터를 삽입합니다.
INSERT INTO orders
VALUES(100001, 'ABC-D001', sysdate, sysdate+1/24, sysdate+1, sysdate+3);
/*
1 행 이(가) 삽입되었습니다.
*/
INSERT INTO orders
VALUES(100002, 'EFG-H325', sysdate, sysdate+1/24, sysdate+1, sysdate+3);
/*
1 행 이(가) 삽입되었습니다.
*/
INSERT INTO orders
VALUES(100003, 'JKL-M108', sysdate, sysdate+1/24, sysdate+1, sysdate+2);
/*
1 행 이(가) 삽입되었습니다.
*/
-- 테이블을 조회합니다.
SELECT * FROM orders;
-- 세션 시간대를 변경합니다.
ALTER SESSION SET time_zone='-10:00';
/*
Session이(가) 변경되었습니다.
*/
-- 현재 세션의 시간을 조회합니다.
SELECT current_timestamp FROM dual;
-- 테이블을 조회합니다.
SELECT * FROM orders;
-- 세션 시간대를 변경합니다.
ALTER SESSION SET time_zone='+9:00';
/*
Session이(가) 변경되었습니다.
*/
-- 현재 세션의 시간을 조회합니다.
SELECT current_timestamp FROM dual;
-- 테이블을 조회합니다.
SELECT * FROM orders;
/*
ORD_NO PROD_ID ORD_DATE PAYMENT_DATE DELIVERY_DATE ARRIVAL_DATE
-----------------------------------------------------------------------------------------------------------------------
100001 ABC-D001 23/07/14 23/07/14 16:14:07 23/07/15 15:14:07 -10:00 23/07/18 10:14:07
100002 EFG-H325 23/07/14 23/07/14 16:14:10 23/07/15 15:14:10 -10:00 23/07/18 10:14:10
100003 JKL-M108 23/07/14 23/07/14 16:14:13 23/07/15 15:14:13 -10:00 23/07/17 10:14:13
*/
-- 다시 한국으로 돌려놓습니다.
ALTER SESSION SET time_zone='+9:00';
/*
Session이(가) 변경되었습니다.
*/
'Oracle Database' 카테고리의 다른 글
Database_72_DATETIME 응용_DATETIME 데이터 유형 SQL 함수 (0) | 2023.08.24 |
---|---|
Database_72_DATETIME 응용_INTERVAL 데이터 유형 (0) | 2023.08.24 |
Database_72_DATETIME 응용_데이터베이스 기반, 사용자 세션 날짜 (0) | 2023.08.24 |
Database_71_정규화 표현식, 정규식 함수_REGEXP_LIKE, REGEXP_REPLACE, REGEXP_INSTR, REGEXP_SUBSTR, REGEXP_COUNT, META CHARACTER (0) | 2023.08.23 |
Database_69_그룹 함수_LISTAGG 함수, PIVOT 함수 (0) | 2023.08.22 |