MySQL關於時間的一些查詢,查詢今天,昨天......


##查詢最近的一條信息

SELECT column_name(s) FROM table_name WHERE column_name = pattern ORDER BY create_time DESC LIMIT 1;

在某些情況下,如果明知道查詢結果只有一個,SQL語句中使用LIMIT 1 會提高查詢效率,避免全表掃描。

 

##查詢今天

SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d');

DATE_FORMAT()函數用於以不同的格式顯示日期/時間數據

DATE_FORMAT(date,format)

date參數是合法的日期。format規定日期/時間的輸出格式

NOW()函數返回當前的日期和時間

 

SELECT column_name(s) FROM table_name WHERE TO_DAYS(create_time) =TO_DAYS(NOW());

 

SELECT colum_name(s) FROM table_name WHERE DATE(create_time) =DATE(CURDATE());

DATE()提取日期或日期/時間表達式的日期部分

 

 

 

 

##查詢昨天

SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(CURDATE()-1,'%Y-%m-%d');

SELECT column_name(s) FROM table_name WHERE DATE(create_time) =DATE(CURDATE()-1);

 

 

##輸出格式:2017-04-14

SELECT CURDATE();

 

 

##輸出格式:2017-04-14 13:44:11

SELECT NOW();

 

 

##查詢一個星期內的數據

## DATE_SUB(date,INTERVAL expr unit) 從日期減去指定的時間間隔

SELECT column_name(s) FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) <=DATE(create_time) ORDER BY create_time DESC;

 

 

##查詢一個月內的數據

SELECT column_name(s) FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 1 MONTH) <= DATE(create_time) ORDER BY create_time DESC;

 

 

##返回date的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的標准

SELECT DAYOFWEEK(create_time) FROM table_name ORDER BY create_time DESC;

 

 

##格式化時間

SELECT DATE_FORMAT(create_time,'%Y-%m-%d') FROM table_name ;

 

 

##返回當前時間 輸出格式:15:17:51

SELECT CURTIME();

 

 

##給日期添加指定的時間間隔  DATE_ADD(date,INTERVAL expr unit)

SELECT column_name(s) FROM table_name WHERE DATE_ADD(create_time,INTERVAL 1 DAY) <= DATE(NOW());

 

 

##返回兩個日期之間的天數 DATEDIFF(expr1,expr2)

SELECT column_name(s) FROM table_name WHERE DATEDIFF( NOW(),create_time)=0

 

 

=0代表查詢的是當天,=1 查詢的就是昨天……

 

歡迎關注微信公眾號:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM