본문 바로가기
SQL

[SQL 시간 정보 타입] Date, Timestamp, interval

by ISLA! 2023. 3. 21.

SQL에서 시간을 나타내는 타입

  • Date 연, 월, 일 정보(시간 제외한 일자) YYYY-MM-DD
  • Timestamp 시간 포함한 일자
  • Time 오직 시간 정보만(잘 안씀)
  • Interval 기간(시작-종료지점 사이)

 

시간 정보를 표시하기 위해, 먼저 문자열을 Date, Timestamp로 변환

to_date('변환할 문자열, 예시 : 2022-01-01'), 'yyyy-mm-dd'(시간 지정 정보)) 👉 2022-01-01 (결과 시간정보)

to_timestamp('변환할 문자열, 예시 : 2022-01-01'), 'yyyy-mm-dd'(시간 지정 정보)) 👉 2022-01-01 00:00:00:000 +0900

 추가 예시) to_timestamp('2022-01-01 13:04:05', 'yyyy-mm-dd hh24:mi:ss') 👉 2022-01-01 13:04:05:000 +0900

 

📍날짜, 시간 포맷 패턴

hh24 하루 중 시간(00-23) month 월 이름(ex: january)
hh12 하루 중 시간(01-12) day 요일 이름(ex: sunday)
mi w 월의 주(1-5)
ss ww 연의 주(1-52)
yyyy 년도 d 요일, 일요일(1) ~ 토요일(7)
mm am 또는 pm AM/PM
dd tz 시간대

 

Date, Timestamp를 문자열로 변환

to_char(Date컬럼명, 'yyyy-mm-dd'(문자열 출력형태)) 👉 2022-01-01 (결과 문자열)


📍 PostgreSQL에서 변환법(더 쉬움)

  • Date => Timestamp
    • to_date('2022-01-01', 'yyyy-mm-dd')::timestamp
  • Date => Text
    • to_timestamp('2022-01-01', 'yyyy-mm-dd')::text
  • Timestamp => Date
    • to_timestamp('2022-01-01 13:01:02', 'yyyy-mm-dd hh24:mi:ss')::date

 

📍 PostgreSQL에서 특정 컬럼의 타입을 알고 싶을 때

pg_typeof( ~~~) => 예시 결과 : date

select pg_typeof(to_date('2022-01-01', 'yyyy-mm-dd'))
728x90

'SQL' 카테고리의 다른 글

[SQL] 시간 더하기, 빼기  (0) 2023.03.21
[SQL 시간 추출하기] extract와 date_part  (0) 2023.03.21
[SQL] WITH 구문  (0) 2023.03.18
[Non Equi 조인] between 사용시  (0) 2023.03.18
[coalesce() 함수] 결측치 처리하기  (0) 2023.03.18