시간 함수

시간 함수

이 섹션은 TIME 값을 검사하고 조작하기 위한 함수와 연산자를 설명해요. 시간 타입에 어떤 연산과 함수를 쓸 수 있는지 함께 살펴볼게요.

출처: 문서

본문

시간 연산자

아래 표는 TIME 타입에 사용할 수 있는 수학 연산자를 보여줘요.

연산자 설명 예시 결과
+ INTERVAL 더하기 TIME '01:02:03' + INTERVAL 5 HOUR 06:02:03
- INTERVAL 빼기 TIME '06:02:03' - INTERVAL 5 HOUR 01:02:03

시간 함수

아래 표는 TIME 타입에 사용할 수 있는 스칼라 함수를 보여줘요.

이름 설명
date_diff(part, starttime, endtime) starttimeendtime 사이의 part 경계 수. 더 큰 시간은 포함하고 더 작은 시간은 제외.
date_part(part, time) 서브필드 가져오기 (extract와 동등).
date_sub(part, starttime, endtime) starttimeendtime 사이 간격의 부호 있는 길이. part의 정수 배수로 잘림.
extract(part FROM time) 시간에서 서브필드 가져오기.
get_current_time() 현재 시간 (현재 트랜잭션의 시작).
make_time(bigint, bigint, double) 주어진 부분들에 대한 시간.

시간에 대해 정의된 유일한 date parts는 epoch, hours, minutes, seconds, milliseconds, microseconds예요.

date_diff(part, starttime, endtime)

| 설명 | starttimeendtime 사이의 part 경계 수. 더 큰 시간은 포함하고 더 작은 시간은 제외 | | 예시 | date_diff('hour', TIME '01:02:03', TIME '06:01:03') | | 결과 | 5 | | 별칭 | datediff |

date_part(part, time)

| 설명 | 서브필드 가져오기 (extract와 동등) | | 예시 | date_part('minute', TIME '14:21:13') | | 결과 | 21 | | 별칭 | datepart |

date_sub(part, starttime, endtime)

| 설명 | starttimeendtime 사이 간격의 부호 있는 길이. part의 정수 배수로 잘림 | | 예시 | date_sub('hour', TIME '01:02:03', TIME '06:01:03') | | 결과 | 4 | | 별칭 | datesub |

extract(part FROM time)

| 설명 | 시간에서 서브필드 가져오기 | | 예시 | extract('hour' FROM TIME '14:21:13') | | 결과 | 14 |

get_current_time()

| 설명 | 로컬 시간대의 현재 시간(현재 트랜잭션 시작)을 TIMETZ로 반환 | | 예시 | get_current_time() | | 결과 | 06:09:59.988+2 | | 별칭 | current_time (괄호 불필요) |

make_time(bigint, bigint, double)

| 설명 | 주어진 부분들에 대한 시간 | | 예시 | make_time(13, 34, 27.123456) | | 결과 | 13:34:27.123456 |

더 알아보기 (Learn more)

  • 시간 데이터 타입은 sql/data_types/time, date parts는 sql/functions/datepart 문서를 참고해 주세요.