一般的に、いくつかのSQLで使用されるMySQLの日付処理

-今日
SELECT DATE_FORMAT(NOW()、 ' %Y-%M-%D 00:00:00 ')AS 本日から';
(NOW()DATE_FORMATを選択して、「M-%D %% Y-23です。 59:59 ')AS'今日の終わり';

-昨日
SELECT DATE_FORMAT(DATE_SUB(CURDATE() 、INTERVAL 1日)、' %Y-%M-%D 00:00:00 ')AS' 「昨日から。
SELECT DATE_FORMAT(DATE_SUB(CURDATE() 、INTERVAL DAY 1)、 '%Y-%M-%D午後11時59分59秒')AS ' 最後の最後に';

-週
SELECT DATE_FORMAT(DATE_SUB(DATE_SUB(CURDATE () 、INTERVAL WEEKDAY(CURDATE()) DAY)、INTERVAL 1週間)、 '%Y-%M-%D夜十二時00分00秒')AS ' 月曜日、
DATE_FORMAT(SUBDATE(CURDATE()を選択し、WEEKDAY( CURDATE())+ 1)、 '%Y-%M-%D午後11時59分59秒')AS ' 週末';

-週
SELECT DATE_FORMAT(SUBDATE(CURDATE() 、DATE_FORMAT(CURDATE()、 ' W%「) - 1)、 '%Y-%M-%D夜12時00分00秒')AS '月曜日';
SELECT DATE_FORMAT(SUBDATE(CURDATE() 、DATE_FORMAT(CURDATE()、W '%') - 7)、 '%Y-%M-%D午前23時59分59秒')AS ' 週末';
-上記MySQLは現在の日曜日であれば、それは次の週に予定され、日曜日に応じて、週の最初の日であるため、この週のアルゴリズムは、問題になる。
DATE_FORMATを選択(DATE_SUB(CURDATE()、INTERVAL WEEKDAY(CURDATE() )DAY)、 '%Y-% M-%D夜十二時00分00秒')AS ' 月曜日;
。DATE_FORMATを選択(DATE_ADD(SUBDATE(CURDATE()、WEEKDAY(CURDATE()))、INTERVAL DAY 6) 、 '%Y-%M-%D夜十一時59分59秒')AS ' 週末';

-月
SELECT DATE_FORMAT(DATE_SUB(CURDATE() 、INTERVAL 1月)、「%Y-%、M-01 00 :00:00 ')AS'早期に';
DATE_FORMATを選択(DATE_SUB(CURDATE()、INTERVAL月のLAST_DAY(1))、' %Y-M-%のD%夜11時59分59秒')AS'先月' ;

-月
SELECT DATE_FORMAT(CURDATE()、 ' %Y-%、M-01夜12時00分00秒')AS ' 今月。
SELECT DATE_FORMAT(LAST_DAY(CURDATE())、 '%Y-%M-%D午後11時59分59秒')AS '本月末'。

 

:より転載http://www.cppblog.com/tx7do/archive/2017/07/19/215119.html

おすすめ

転載: www.cnblogs.com/liumyblog/p/11926486.html