Mysql-時間クエリー

1790 ワード

*取得時間の異なる関数の違い
select DATE_FORMAT(NOW());  -- 2019-05-28 17:55:34
select CURDATE();  -- 2019-05-28
select CURTIME();  -- 17:55:34


現在の日付の取得
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 2019-05-28

または
select DATE_FORMAT(now(),'%Y-%m-%d %h:%i:%s'); -- 2019-05-28 05:55:34

または
select CURDATE();  -- 2019-05-28


1ヶ月前の日付を取得
SELECT DATE_SUB(CURDATE(),INTERVAL 1 MONTH) -- 2019-04-28


1ヶ月後の日付の取得
SELECT DATE_ADD(CURDATE(),INTERVAL 1 MONTH) -- 2019-06-28


今月初めの日付を取得
SELECT DATE_FORMAT( CURDATE(), '%Y-%m-01 00:00:00') -- 2019-05-01 00:00:00


今月末の取得
SELECT DATE_FORMAT( LAST_DAY(CURDATE()), '%Y-%m-%d 23:59:59');


1週間前の日付を取得
SELECT DATE_SUB(CURDATE(),INTERVAL 7 DAY); -- 2019-05-21


昨日の日付を取得
SELECT DATE_FORMAT(CURDATE()-1,'%Y-%m-%d'); -- 2019-05-27

この年の取得
SELECT DATE_FORMAT(NOW(), '%Y'); -- 2019


今月の取得(数値表示)
SELECT DATE_FORMAT(NOW(), '%m'); -- 05

または
SELECT DATE_FORMAT(NOW(), '%c' ); -- 5


今月の取得(英語表示)
SELECT DATE_FORMAT(NOW(), '%M'); -- May


この日付を取得(数値を表示)
SELECT DATE_FORMAT(NOW(), '%d'); -- 28


この日付を取得(16 thなどの数字とアルファベットを表示)
SELECT DATE_FORMAT(NOW(), '%D');  -- 28th


現在時刻(11:54:23)
SELECT DATE_FORMAT(NOW(), '%T'); -- 17:55:34

または
select CURTIME(); -- 17:55:34