MySQL時(shí)間日期查詢方法與函數(shù)
MySQL應(yīng)用中,日期與查詢是非常普遍的。比如要查某天、某個(gè)星期、或者某個(gè)月內(nèi)的數(shù)據(jù),查詢兩個(gè)日期之間的天數(shù)差,查詢某天是星期幾等等。下面就介紹一下相關(guān)的MySQL時(shí)間與日期函數(shù),與它們的具體使用方法。
NOW() 函數(shù)MYSQL 有沒(méi)有像 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語(yǔ)言程序在內(nèi)存中的運(yùn)行情況|| 為什么說(shuō)Lisp到現(xiàn)在還很先進(jìn) || JavaScript截取中英文字符串 || 談?wù)凧avascript的匿名函數(shù) || 程序員需要具備的一些基本技能 || 美國(guó)社會(huì)的一些潛規(guī)則 || 二叉搜索樹(shù)的一些相關(guān)算法介紹 || JQuery仿淘寶滾動(dòng)加載圖片 || 收藏一些規(guī)范化輸入輸出的PHP函數(shù) || 趣談編程語(yǔ)言結(jié)構(gòu)——函數(shù) || CSS設(shè)計(jì)一個(gè)三列布局的頁(yè)面 || 關(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)營(yíng)需要了解的一些規(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)營(yíng)需要了解的一些規(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 變更管理工具與Rational DA集成(1)2. ORA-06512數(shù)字或值錯(cuò)誤字符串緩沖區(qū)太小異常詳解3. Window7安裝MariaDB數(shù)據(jù)庫(kù)及系統(tǒng)初始化操作分析4. Mysql InnoDB的鎖定機(jī)制實(shí)例詳解5. Access數(shù)據(jù)庫(kù)安全的幾個(gè)問(wèn)題6. Delphi中的Access技巧集7. MySQL中 concat函數(shù)的使用8. 用shell抽取,更新db2的數(shù)據(jù)9. 整理Oracle數(shù)據(jù)庫(kù)碎片10. oracle觸發(fā)器介紹
