MySQL時間日期查詢方法與函數
MySQL應用中,日期與查詢是非常普遍的。比如要查某天、某個星期、或者某個月內的數據,查詢兩個日期之間的天數差,查詢某天是星期幾等等。下面就介紹一下相關的MySQL時間與日期函數,與它們的具體使用方法。
NOW() 函數MYSQL 有沒有像 MSSQL 的 getdate() 函數?有,就是 NOW()。
mysql> SELECT now();+---------------------+| now() |+---------------------+| 2011-10-27 09:49:42 |+---------------------+1 row in set
NOW() 函數返回當前的日期和時間。
DATEDIFF() 函數DATEDIFF() 函數返回兩個日期之間的天數。
DATEDIFF(expr,expr2)
DATEDIFF() 返回起始時間 expr和結束時間expr2之間的天數。Expr和expr2為日期或 date-and-time 表達式。計算中只用到這些值的日期部分。
mysql> SELECT DATEDIFF(’2011-10-27’,’2011-09-05’) AS DiffDate;+----------+| DiffDate |+----------+| 52 |+----------+1 row in set查詢一周內的數據
mysql> SELECT title FROM table WHERE datediff(FROM_UNIXTIME(date),now()) > -7;+------------------------------------+| title |+------------------------------------+| 什么是面向服務架構SOA || 從菜鳥到編程高手的學習與認知歷程 || JavaScript去除空格trim()的原生實現 || C語言程序在內存中的運行情況|| 為什么說Lisp到現在還很先進 || JavaScript截取中英文字符串 || 談談Javascript的匿名函數 || 程序員需要具備的一些基本技能 || 美國社會的一些潛規則 || 二叉搜索樹的一些相關算法介紹 || JQuery仿淘寶滾動加載圖片 || 收藏一些規范化輸入輸出的PHP函數 || 趣談編程語言結構——函數 || CSS設計一個三列布局的頁面 || 關于Android應用apk的程序簽名 || JavaScript模擬打字效果 || 歐幾里德算法(輾轉相處法)練手 || JavaScript身份證號碼有效性驗證 || JavaScript對iframe的DOM操作|| 如何處理JSON中的特殊字符 || 一份騰訊2011筆試題 || PHP如何實現異步數據調用 || 網站運營需要了解的一些規律 || 勤于思考才能善于架構 |+------------------------------------+24 rows in set
同樣查詢一個月,一年,任意天數都可以這么使用。
查詢當天則可以這么寫:
mysql> SELECT title FROM table WHERE datediff(FROM_UNIXTIME(date),now()) >= 0;+----------------------------+| post_title |+----------------------------+| 網站運營需要了解的一些規律 || 勤于思考才能善于架構 |+----------------------------+2 rows in set查詢某天是星期幾
DAYNAME(date)
返回date對應的工作日名稱。
mysql> SELECT DAYNAME( NOW() );+------------------+| DAYNAME( NOW() ) |+------------------+| Thursday |+------------------+1 row in set
查詢該日期是當周第幾天則這么寫:
mysql> SELECT DAYOFWEEK( NOW() );+--------------------+| DAYOFWEEK( NOW() ) |+--------------------+| 5 |+--------------------+1 row in set
返回date (1 = 周日, 2 = 周一, ..., 7 = 周六)對應的工作日索引。這些索引值符合 ODBC標準。
相關文章: