明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

MySQL查詢時間日期的方法與函數(shù)

[摘要]MySQL應(yīng)用中,日期與查詢是非常普遍的。比如要查某天、某個星期、或者某個月內(nèi)的數(shù)據(jù),查詢兩個日期之間的天數(shù)差,查詢某天是星期幾等等。下面就介紹一下相關(guān)的MySQL時間與日期函數(shù),與它們的具體使用方法。NOW() 函數(shù)MYSQL 有沒有像 MSSQL 的 getdate() 函數(shù)?有,就是 NOW...

MySQL應(yīng)用中,日期與查詢是非常普遍的。比如要查某天、某個星期、或者某個月內(nèi)的數(shù)據(jù),查詢兩個日期之間的天數(shù)差,查詢某天是星期幾等等。下面就介紹一下相關(guān)的MySQL時間與日期函數(shù),與它們的具體使用方法。

NOW() 函數(shù)

MYSQL 有沒有像 MSSQL 的 getdate() 函數(shù)?有,就是 NOW()。

mysql> SELECT now();
+---------------------+
  now()                
+---------------------+
  2011-10-27 09:49:42  
+---------------------+
1 row in set

NOW() 函數(shù)返回當(dāng)前的日期和時間。

DATEDIFF() 函數(shù)

DATEDIFF() 函數(shù)返回兩個日期之間的天數(shù)。

DATEDIFF(expr,expr2)

DATEDIFF() 返回起始時間 expr和結(jié)束時間expr2之間的天數(shù)。Expr和expr2為日期或 date-and-time 表達(dá)式。計(jì)算中只用到這些值的日期部分。

mysql> SELECT DATEDIFF('2011-10-27','2011-09-05') AS DiffDate;
+----------+
  DiffDate  
+----------+
        52  
+----------+
1 row in set

查詢一周內(nèi)的數(shù)據(jù)

mysql> SELECT title FROM table WHERE datediff(FROM_UNIXTIME(date),now()) > -7;
+------------------------------------+
  title                          
+------------------------------------+
  什么是面向服務(wù)架構(gòu)SOA               
  從菜鳥到編程高手的學(xué)習(xí)與認(rèn)知?dú)v程    
  JavaScript去除空格trim()的原生實(shí)現(xiàn)  
  C語言程序在內(nèi)存中的運(yùn)行情況         
  為什么說Lisp到現(xiàn)在還很先進(jìn)          
  JavaScript截取中英文字符串          
  談?wù)凧avascript的匿名函數(shù)            
  程序員需要具備的一些基本技能        
  美國社會的一些潛規(guī)則                
  二叉搜索樹的一些相關(guān)算法介紹        
  JQuery仿淘寶滾動加載圖片            
  收藏一些規(guī)范化輸入輸出的PHP函數(shù)     
  趣談編程語言結(jié)構(gòu)——函數(shù)              
  CSS設(shè)計(jì)一個三列布局的頁面           
  關(guān)于Android應(yīng)用apk的程序簽名        
  JavaScript模擬打字效果              
  歐幾里德算法(輾轉(zhuǎn)相處法)練手      
  JavaScript身份證號碼有效性驗(yàn)證      
  JavaScript對iframe的DOM操作         
  如何處理JSON中的特殊字符            
  一份騰訊2011筆試題                  
  PHP如何實(shí)現(xiàn)異步數(shù)據(jù)調(diào)用             
  網(wǎng)站運(yùn)營需要了解的一些規(guī)律          
  勤于思考才能善于架構(gòu)                
+------------------------------------+
24 rows in set

同樣查詢一個月,一年,任意天數(shù)都可以這么使用。

查詢當(dāng)天則可以這么寫:

mysql> SELECT title FROM table WHERE datediff(FROM_UNIXTIME(date),now()) >= 0;
+----------------------------+
  post_title                  
+----------------------------+
  網(wǎng)站運(yùn)營需要了解的一些規(guī)律  
  勤于思考才能善于架構(gòu)        
+----------------------------+
2 rows in set

查詢某天是星期幾

DAYNAME(date)

返回date對應(yīng)的工作日名稱。

mysql> SELECT DAYNAME( NOW() );
+------------------+
  DAYNAME( NOW() )  
+------------------+
  Thursday          
+------------------+
1 row in set

查詢該日期是當(dāng)周第幾天則這么寫:

mysql> SELECT DAYOFWEEK( NOW() );
+--------------------+
  DAYOFWEEK( NOW() )  
+--------------------+
                   5  
+--------------------+
1 row in set

返回date (1 = 周日, 2 = 周一, ..., 7 = 周六)對應(yīng)的工作日索引。這些索引值符合 ODBC標(biāo)準(zhǔn)。

以上就是MySQL查詢時間日期的方法與函數(shù)的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。