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 |