[SQL] 데이터타입 - 3. 날짜타입

LHR·2022년 5월 11일
0

SQL

목록 보기
6/11

개요

  • 문자 데이터 타입 X
  • 문자열, 숫자, 날짜, 2진 데이터 타입

3. 날짜타입

  • 날짜 및 시간에 관한 자료 저장 (년,월,일,시,분,초)
  • 덧셈과 뺄셈을 대상이 될 수 있음
  • DATE, TIMESTAMP타입이 제공됨

(1) DATE 타입

  • 표준 날짜타입

(사용형식)
컬럼명 DATE

(사용예)

	CREATE TABLE TEMP05(
            COL1 DATE,
            COL2 DATE,
            COL3 DATE);
    ** SYSDATE 함수 : 시스템이 제공하는 날짜자료 제공
    INSERT INTO TEMP05 VALUES(SYSDATE,SYSDATE-30, TO_DATE('20190411')+365); 
    --TO_DATE주어진 문자열을 날짜로 바꾸시오.형식에 맞춰야 변환됨(YYYYMMDD)
    SELECT * FROM TEMP05; 
    --시간은 저장됐으나 표현이 안 된 상태

    SELECT TO_CHAR(COL1, 'YYYYMMDD HH24:MI:SS') AS 컬럼1,
           TO_CHAR(COL2, 'YYYYMMDD HH24:MI:SS') AS 컬럼2,
           TO_CHAR(COL3, 'YYYYMMDD HH24:MI:SS') AS 컬럼3
    FROM TEMP05; 


날짜자료 - 날짜자료
=> 경과된 일수 출력 (MOD 나머지를 구하는 함수)

trunc(DT)시간절사
 SELECT MOD((TRUNC(SYSDATE) - (TO_DATE('00010101'))-1),7)
    FROM DUAL; 
--00010101 서기1년1월1일 -1하는 이유 오늘 날짜 안지났으니까/ 7로 나눠서 나머지가 1이면 월요일
--DUAL가상테이블 이용해서 SELECT절만 연산
(5/11 수요일)

(2) TIMESTAMP 타입

  • 시간대역(TIME ZONE 정보) 정보 제공
  • 아주 정교한 시간정보(10억분의 1초) 제목

(사용형식)

컬럼명 TIMESTAMP --시간대역 정보 없음
    컬럼명 TIMESTAMP WITH TIME ZONE --시간대역 정보 포함
    컬럼명 TIMESTAMP WITH LOCAL TIME ZONE --로컬서버가 설치된 시간대역 정보로 TIMESTAMP와 같이 시간대역 정보 없음

(사용예)

    CREATE TABLE TEMP06(
      COL1 TIMESTAMP,
      COL2 TIMESTAMP WITH TIME ZONE,
      COL3 TIMESTAMP WITH LOCAL TIME ZONE);
      
  INSERT INTO TEMP06 VALUES(SYSDATE,SYSDATE,SYSDATE);
  SELECT * FROM TEMP06;
  ```
![](https://velog.velcdn.com/images/rim/post/bbe13668-8a16-46ae-ac7d-e6a9b3ce85ba/image.png)

0개의 댓글