Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자바 동시성
- acid
- ArrayList 소스코드
- ArrayList 가변
- create-drop
- 트랜잭션
- 도커
- github
- java
- transaction
- thread safety
- Database
- 싱글톤 동시성
- PostgreSQL
- 멀티스레드 싱글톤
- 로드밸런서
- 데이터베이스
- ArrayList 길이 확장
- JPA
- 권장 PK 전략
- 컨테이너
- postgres
- docker
- JPA 장점
- JPA란
- heap
- index
- 스키마 자동 생성
- load balancer
- Container
Archives
- Today
- Total
JS
INTERVAL을 이용한 시간 계산하기 본문
서버개발을 하면서 날짜 혹은 시간 계산이 필요한 경우가 많았습니다.
Node.js 서버에서는 Moment.js라는 라이브러리를 자주 활용했고, Python에서는 자체 제공 datetime이라는 내장 모듈을 활용하곤 했습니다.
그러다가 날짜/시간 계산을 데이터베이스 쿼리문으로 처리할 수 없을까하는 궁금증이 생겨 알아보다가 INTERVAL
이라는 데이터타입에 대해 알게되었습니다.
INTERVAL
타입을 활용하여 필요한 경우 데이터베이스 레벨에서 날짜 계산을 처리할 수 있습니다.
Conversion
SQL | 의미 |
---|---|
1 day |
1 Day |
1 D |
1 Day |
1 D 1 M 1 S |
1 Day 1 Minute 1 Second |
SELECT ('1 D'::INTERVAL);
SELECT ('1 D 20 H 30 M 45 S'::INTERVAL);
Calculation
시간에서 시간 빼기
SELECT ('1 D 20 H 30 M 45 S'::INTERVAL) - ('1 D'::INTERVAL);
id | column |
---|---|
1 | 20:30:45 |
날짜에서 시간 더하거나 빼기
SELECT ('NOV-20-1980 1:23 AM EST'::TIMESTAMP WITH TIME ZONE) - ('1 D'::INTERVAL);
id | column |
---|---|
1 | 1980-11-18 23:23:00-07 |
SELECT ('NOV-20-1980 1:23 AM EST'::TIMESTAMP WITH TIME ZONE) - ('4 D'::INTERVAL);
id | column |
---|---|
1 | 1980-11-15 23:23:00-07 |
두 날짜 혹은 TIMESTAMP 사이 계산하기
SELECT ('NOV-20-1980 1:23 AM EST'::TIMESTAMP WITH TIME ZONE) - ('NOV-10-1980 1:23 AM EST'::TIMESTAMP WITH TIME ZONE);
id | column |
---|---|
1 | 10 days |
서로 다른 TIME ZONE의 날짜 사이 계산하기
SELECT ('NOV-20-1980 1:23 AM EST'::TIMESTAMP WITH TIME ZONE) - ('NOV-10-1980 5:43 PST'::TIMESTAMP WITH TIME ZONE);
id | column |
---|---|
1 | 9 days 16:40:00 |
'Database' 카테고리의 다른 글
Database Index란? (0) | 2022.02.14 |
---|---|
Postgres는 데이터를 어디에 어떤 형태로 저장할까? (0) | 2022.02.02 |
[ACID #3] Isolation이란? 트랜잭션의 격리 수준(isolation level)이란? (0) | 2022.01.18 |
[ACID #2] Atomicity란? 아토믹한 트랜잭션이란? (0) | 2022.01.11 |
[ACID #1] Transaction이란? (0) | 2022.01.10 |
Comments