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 functions Date functions Info Query >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.