MySQL時(shí)間日期查詢方法與函數(shù)
MySQL應(yīng)用中,日期與查詢是非常普遍的。比如要查某天、某個(gè)星期、或者某個(gè)月內(nèi)的數(shù)據(jù),查詢兩個(gè)日期之間的天數(shù)差,查詢某天是星期幾等等。下面就介紹一下相關(guān)的MySQL時(shí)間與日期函數(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)前的日期和時(shí)間。
DATEDIFF() 函數(shù)DATEDIFF() 函數(shù)返回兩個(gè)日期之間的天數(shù)。
DATEDIFF(expr,expr2)
DATEDIFF() 返回起始時(shí)間 expr和結(jié)束時(shí)間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ù) || 程序員需要具備的一些基本技能 || 美國社會(huì)的一些潛規(guī)則 || 二叉搜索樹的一些相關(guān)算法介紹 || JQuery仿淘寶滾動(dòng)加載圖片 || 收藏一些規(guī)范化輸入輸出的PHP函數(shù) || 趣談編程語言結(jié)構(gòu)——函數(shù) || CSS設(shè)計(jì)一個(gè)三列布局的頁面 || 關(guān)于Android應(yīng)用apk的程序簽名 || JavaScript模擬打字效果 || 歐幾里德算法(輾轉(zhuǎn)相處法)練手 || JavaScript身份證號(hào)碼有效性驗(yàn)證 || JavaScript對(duì)iframe的DOM操作|| 如何處理JSON中的特殊字符 || 一份騰訊2011筆試題 || PHP如何實(shí)現(xiàn)異步數(shù)據(jù)調(diào)用 || 網(wǎng)站運(yùn)營需要了解的一些規(guī)律 || 勤于思考才能善于架構(gòu) |+------------------------------------+24 rows in set
同樣查詢一個(gè)月,一年,任意天數(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對(duì)應(yīng)的工作日名稱。
mysql> SELECT DAYNAME( NOW() );+------------------+| DAYNAME( NOW() ) |+------------------+| Thursday |+------------------+1 row in set
查詢?cè)撊掌谑钱?dāng)周第幾天則這么寫:
mysql> SELECT DAYOFWEEK( NOW() );+--------------------+| DAYOFWEEK( NOW() ) |+--------------------+| 5 |+--------------------+1 row in set
返回date (1 = 周日, 2 = 周一, ..., 7 = 周六)對(duì)應(yīng)的工作日索引。這些索引值符合 ODBC標(biāo)準(zhǔn)。
相關(guān)文章:
1. DB2中多種常用功能的解決方法(1)2. MyBatis中PageHelper不生效的解決方案3. MySQL 的啟動(dòng)選項(xiàng)和系統(tǒng)變量實(shí)例詳解4. sql server 2000關(guān)于日期的查詢5. Mybatis中多個(gè)對(duì)象包含同一個(gè)對(duì)象的處理操作6. MyBatis Plus更新對(duì)象無法設(shè)空值解決方案7. MySQL雙主(主主)架構(gòu)配置方案8. oracle8i回滾段表空間出現(xiàn)壞塊的解決方法9. SQLite教程(十):內(nèi)存數(shù)據(jù)庫和臨時(shí)數(shù)據(jù)庫10. SQLite教程(八):命令行工具介紹
