시간 함수
시간 함수
이 섹션은 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) |
starttime과 endtime 사이의 part 경계 수. 더 큰 시간은 포함하고 더 작은 시간은 제외. |
date_part(part, time) |
서브필드 가져오기 (extract와 동등). |
date_sub(part, starttime, endtime) |
starttime과 endtime 사이 간격의 부호 있는 길이. 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)
| 설명 | starttime과 endtime 사이의 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)
| 설명 | starttime과 endtime 사이 간격의 부호 있는 길이. 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문서를 참고해 주세요.