MySQL - 時間



現在時間


mysql> select CURRENT_TIMESTAMP;
+---------------------+
| CURRENT_TIMESTAMP |
+---------------------+
| 2023-07-04 15:08:10 |
+---------------------+


目前時間換成秒數


UNIX_TIMESTAMP(NOW())


秒數換成時間格式(xxxx-xx-xx 00:00:00)


FROM_UNIXTIME(1688458039)


抓這個月份的最後一天日期(xxxx-xx-xx)


LAST_DAY('2024-02-02')


抓取年份


YEAR(NOW()) // 1-9999
DATE_FORMAT(NOW(), '%Y') // year: 0000-9999


抓取月份


MONTH(NOW()) // 1-12
DATE_FORMAT(NOW(), '%m') // month: 01-12
DATE_FORMAT(NOW(), '%M') // month: ... July ...


抓取日期


DAY(NOW()) // 1-31
DATE_FORMAT(NOW(), '%d') // day of month: 00-31
DATE_FORMAT(NOW(), '%j') // day of year: 001-366


抓取小時


HOUR(NOW()) // 1-24
DATE_FORMAT(NOW(), '%H') // hour: 00-24


抓取分鐘


MINUTE(NOW()) // 1-59
DATE_FORMAT(NOW(), '%i') // minute: 00-59


抓取秒數


SECOND(NOW()) // 1-59
DATE_FORMAT(NOW(), '%s') // seconds: 00-59


抓取星期


WEEKDAY(NOW()) // (0:Monday...)
DAYNAME(NOW()) // (Sunday,Monday,...)
DAYOFWEEK(NOW()) // (1:Sun,2:Mon...,7:Sat)
DATE_FORMAT(NOW(), '%w') // (0:Sun,1:Mon...,6:Sat)
DATE_FORMAT(NOW(), '%W') // (Sunday,Monday,...)


時間選取小值


mysql> select LEAST('2022-08-19 11:58:14', '2022-08-08 17:30:20');


時間選取大值


mysql> select GREATEST('2022-08-19 11:52:02', '2022-08-12 15:28:09');


目前時間-60分的時間格式(xxxx-xx-xx 00:00:00)


DATE_SUB(NOW(), INTERVAL 60 MINUTE)


時間差


TIMESTAMPDIFF(SECOND, `開始始間欄位`, `結束時間欄位`)

 例如:

mysql> select TIMESTAMPDIFF(SECOND, '2022-09-27 11:35:13', CURRENT_TIMESTAMP);
+-----------------------------------------------------------------+
| TIMESTAMPDIFF(SECOND, '2022-09-27 11:35:13', CURRENT_TIMESTAMP) |
+-----------------------------------------------------------------+
| 24205521 |
+-----------------------------------------------------------------+

    時間差單位
        SECOND 秒 (建議使用)
        MINUTE 分
        HOUR 時
        DAY 天
        WEEK 週
        MONTH 月
        YEAR 年










沒有留言:

張貼留言