func_date
SQL Date() functions
동영상 설명은 아래에 있습니다.
SQL Date() functions
DATETIME('now'): 현재 영국(표준,UTC) 시간
DATETIME('now','localtime'): 현재 한국 시간, UTC와 9시간 차이
Date 함수는 from을 사용하지 않아도 됩니다.
DATE()
date(time-value, modifier, modifier, ...)
time-value 'now': 현재 시각,
modifier 'localtime': 현지 시각
기본 형식(format): YYYY-MM-DD
Example
명령> | select date('now'); 오늘 UTC 날짜 |
결과> | 1) 2020-12-26 |
명령> | select date('now','localtime'); 오늘 한국 날짜 |
결과> | 1) 2020-12-27 |
명령> | select date('now','start of month'); 이번 달 첫날 |
결과> | 1) 2020-12-01 |
명령> | select date('now','start of month','+1 month','-1 day'); 이번 달 마지막날 |
결과> | 1) 2020-12-31 |
명령> | select date('now','-7 day'); 7일(일주일) 전 |
결과> | 1) 2020-12-19 |
Modifiers
- localtime: 현지 시각
- start of year: 매년 1월 1일
- start of month: 매월 1일
- start of day: 매일 0시
- NNN year: 년을 더하거나 뺀다. +1 year, -5 year
- NNN month: 월을 더하거나 뺀다. +1 month, -5 month
- NNN day: 일을 더하거나 뺀다. +1 day, -5 day
- NNN hour: 시간을 더하거나 뺀다. +1 hour, -5 hour
- NNN minute: 분을 더하거나 뺀다. +1 minute, -5 minute
- NNN.NNNN second: 초를 더하거나 뺀다. +1 second, -5 second
- weekday N: 해당 요일 날짜
현재 월의 첫 월요일: datetime('now','localtime','start of month','weekday 1') - unixepoch: 1970년 1월 1일 0시를 0으로 부터 시작(초 단위), unix timestamp
- UTC(Universal Coordinated Time): time-value가 localtime일 경우 UTC로 변경
TIME()
time(time-value, modifier, modifier, ...)
time-value 'now': 현재 날짜
modifier 'localtime': 현지 날짜
기본 형식(format): HH:MM:SS
Example
명령> | select time('now'); |
결과> | 1) 01:52:37 |
명령> | select time('now','localtime'); |
결과> | 1) 10:52:46 |
명령> | select time('now','localtime','+5 hour') |
결과> | 1) 15:54:44 |
DATETIME()
datetime(time-value, modifier, modifier, ...)
time-value 'now': 현재 일시
modifier 'localtime': 현지 일시
기본 형식(format): YYYY-MM-DD HH:MM:SS
Example
명령> | select datetime('now'); |
결과> | 1) 2020-12-27 01:58:38 |
명령> | select datetime('now','localtime'); |
결과> | 1) 2020-12-27 10:58:54 |
명령> | select datetime('now','localtime','+5 hour'); |
결과> | 1) 2020-12-27 15:59:15 |
UNIXEPOCH
Unix timestamp: 1970년 1월 1일 0시를 0으로 부터 시작(초 단위)
Example
명령> | select datetime('0','unixepoch'); |
결과> | 1) 1970-01-01 00:00:00 |
명령> | time |
결과> | 1) "1609032587" 2) "352564" |
명령> | select datetime('1609032587','unixepoch','localtime'); |
결과> | 1) 2020-12-27 10:29:47 |
STRFTIME()
strftime(format, time-value, modifier, modifier, ...)
Example
명령> | select strftime('%Y-%m-%d %H:%M:%S','now'); |
결과> | 1) 2020-12-27 02:09:03 |
명령> | select strftime('%Y-%m-%d %H:%M:%S','now','localtime'); |
결과> | 1) 2020-12-27 11:09:11 |
명령> | select strftime('%Y-%m','now','localtime'); |
결과> | 1) 2020-12 |
명령> | select strftime('%s','1970-01-01'); Unix timestamp |
결과> | 1) 0 |
명령> | select strftime('%s','1970-01-02'); |
결과> | 1) 86400 |
명령> | select strftime('%s','2020-12-27 10:20:30'); |
결과> | 1) 1609064430 |
명령> | select strftime('%J','2020-12-27 10:20:30'); Julian day |
결과> | 1) 2459210.930902778 |
형식 format
- 날짜, 시간 함수는 ISO-8601 형식(format)을 기본으로 사용합니다.
- 기본 형식: YYYY-MM-DD HH:MM:DD
- %Y 년 year 0000~9999
- %m 월 month 00~12
- %d 일 day 01~31
- %H 시 hour 00~24
- %M 분 minute 00~59
- %S 초 second: 00-59
- %f 밀리초 fractional seconds: SS.SSS
- %W 주 week of year: 00-53
- %j 일 day of year: 001-366
- %w 요일 day of week 0-6 with Sunday==0
일:0, 월:1, 화:2, 수:3, 목:4, 금: 5, 토:6 - %s 1970년 1월 1일 부터 초로 표시 seconds since 1970-01-01
- 1970년 1월 1일 0시는 0
- 1970년 1월 2일 0시는 86400
- 2021년 1월 1일 0시는 1609459200
- %J 줄리안 일수 Julian day number
JULIANDAY()
- 줄리안 일수 Julian day number
- BCE 4713년 ~ CE 3268 (7980년 주기) 숫자. Before Common Era, Common Era
- 두 날짜 간의 일수를 계산하는 데 사용하며, 천문학에서 주로 사용합니다.
- 정수 부분은 날수, 소수 부분은 시간을 나타냅니다.
Example
명령> | select julianday('0000-01-01'); |
결과> | 1) 1721059.5 |
명령> | select julianday('2021-01-01'); |
결과> | 1) 2459215.5 |
명령> | SELECT julianday('now') - julianday('2020-10-01'); 날짜 계산 |
결과> | 1) 87.1358217941597 |
명령> | select julianday('2021-12-31')-julianday('2021-12-01')+1; 날짜 계산 |
결과> | 1) 31.0 |
동영상 설명
Redis SQL Date Functions
<< Redis functions | Date functions | Select ALL >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.