[MySQL] 날짜/시간 관련 함수

parkheeddong·2023년 3월 2일

SQL

목록 보기
12/16

year(date)

mysql> select year('99-09-01');
-> 1999

month(date)

mysql> select month('1999-09-01');
-> 9

hour(time)

mysql> select hour('10:05:03');
-> 10

  • date_format 함수에서 '%H' 를 사용하면 두 자리수의 숫자로 리턴된다. (01, 02.. )
  • hour 함수는 1, 2, .. 9, 10, 11과 같이 리턴한다.

minute(time)

mysql> select minute('99-09-01 10:05:03');
-> 5

second(time)

mysql> select second('10:05:03');
-> 3

DATEDIFF : 날짜 간 차이 (일 반환)

mysql> DATEDIFF(날짜1, 날짜2);
-> 날짜1- 날짜2

TIMESTAMPDIFF : 연/분기/월/주/일/시/분/초 지정하여 차이 반환

  • YEAR/QUARTER
  • MONTH/WEEK/DAY
  • HOUR/MINUTE/SECOND

mysql> TIMESTAMPDIFF(단위, 날짜1, 날짜2);

SELECT TIMESTAMPDIFF(YEAR, '2017-03-01', '2018-03-28'); -> 1
SELECT TIMESTAMPDIFF(QUARTER, '2017-03-01', '2018-03-28'); -> 4
SELECT TIMESTAMPDIFF(MONTH, '2017-03-01', '2018-03-28'); -> 12
SELECT TIMESTAMPDIFF(WEEK, '2017-03-01', '2018-03-28'); -> 56
SELECT TIMESTAMPDIFF(DAY, '2017-03-01', '2018-03-28'); -> 392
SELECT TIMESTAMPDIFF(HOUR, '2017-03-01', '2018-03-28'); -> 9408
SELECT TIMESTAMPDIFF(MINUTE, '2017-03-01', '2018-03-28'); -> 564480

0개의 댓글