본문 바로가기
IT/SQL 기초강좌 (PostgreSQL)

94강 SQL 함수 정리 : PostgreSQL Date/Time Operators

by DoitSQL 2023. 2. 5.
728x90

 PostgreSQL 기초강의, PostgreSQL 기초강좌

94강 SQL 함수 정리 : PostgreSQL Date/Time Operators   

 

SQL 함수 정리 94강 시작합니다.

 

이번 시간에는

 PostgreSQL Date/Time Operators

에 대해서 알아보는 시간입니다.

 

SQL에서 DATE/TIME 관련한 함수 및 연산자는 수없이 많이 사용됩니다.

그래서 잘 알아둘 필요가 있습니다.

 


Date/Time Operators   

Date/Time

설명

연산방법 : date + integer → date  : 데이터형에 + 정수하면 데이터형을 리턴

예제 : SELECT date '2001-09-28' + 7;  → 2001-10-05 : 실행 시 결과는 2001-10-05

의 순서로 나열합니다.

SQL문은 직접 실행해 보시고 결과를 확인하시면 됩니다.

 

Add a number of days to a date 날짜에 일 수 추가   

date + integer → date

SELECT date '2001-09-28' + 7  → 2001-10-05

 

Add an interval to a date 날짜에 간격 추가   

date + interval → timestamp

SELECT date '2001-09-28' + interval '1 hour' → 2001-09-28 01:00:00

interval은 'year', 'month', 'day', 'hour', 'minutes', 'second'가 사용된다.

 

Add a time-of-day to a date 날짜에 시간대 추가   

date + time → timestamp

SELECT date '2001-09-28' + time '03:00' → 2001-09-28 03:00:00

 

Add intervals 간격 추가   

interval + interval → interval

SELECT interval '1 day' + interval '1 hour' → 1 day 01:00:00

 

Add an interval to a timestamp 타임스탬프에 간격 추가   

timestamp + interval → timestamp

SELECT timestamp '2001-09-28 01:00' + interval '23 hours' → 2001-09-29 00:00:00

 

Add an interval to a time 시간에 간격 추가   

time + interval → time

SELECT time '01:00' + interval '3 hours' → 04:00:00

 

Negate an interval  마이너스 간격

- interval → interval

SELECT - interval '23 hours' → -23:00:00

- 간격으로 날짜/시간에서 뺄 수 있다.

 

Subtract dates, producing the number of days elapsed  날짜를 빼서 경과 일 수 계산 

date - date → integer

SELECT date '2001-10-01' - date '2001-09-28' → 3

 

Subtract a number of days from a date  날짜에서 일 수 빼기  

date - integer → date

SELECT date '2001-10-01' - 7 → 2001-09-24

 

Subtract an interval from a date  날짜에서 간격 빼기

date - interval → timestamp

SELECT date '2001-09-28' - interval '1 hour' → 2001-09-27 23:00:00

 

Subtract times  시간 빼기

time - time → interval

SELECT time '05:00' - time '03:00' → 02:00:00

 

Subtract an interval from a time  시간에서 간격 빼기  

time - interval → time
SELECT time '05:00' - interval '2 hours' → 03:00:00

 

Subtract an interval from a timestamp  타임스탬프에서 간격 빼기   

timestamp - interval → timestamp

SELECT timestamp '2001-09-28 23:00' - interval '23 hours' → 2001-09-28 00:00:00

 

Subtract intervals  간격 빼기

interval - interval → interval

SELECT interval '1 day' - interval '1 hour' → 1 day -01:00:00

 

Subtract timestamps (converting 24-hour intervals into days, similarly to justify_hours())  타임스탬프 빼기(24시간 간격을 일로 변환, justify_hours()와 유사)   

timestamp - timestamp → interval

SELECT timestamp '2001-09-29 03:00' - timestamp '2001-07-27 12:00' → 63 days 15:00:00

 

간격에 스칼라 곱하기   

interval * double precision → interval

SELECT interval '1 second' * 900 → 00:15:00

SELECT interval '1 day' * 21 → 21 days

SELECT interval '1 hour' * 3.5 → 03:30:00

 

간격을 스칼라 나누기   

interval / double precision → interval

SELECT interval '1 hour' / 1.5 → 00:40:00


다양한 시간 연산 방법을 배웠습니다.

 

감사합니다.


본 강의는 PostgreSQL Tutorial을 참조합니다.  https://www.postgresqltutorial.com/
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다.

 

728x90

댓글