MySQL應用程式中,日期與查詢是非常普遍的。例如要查某天、某個星期、或某個月內的數據,查詢兩個日期之間的天數差,查詢某天是星期幾等等。以下就介紹相關的MySQL時間與日期函數,與它們的具體使用方法。
MYSQL 有沒有像 MSSQL 的 getdate() 函數?有,就是 NOW()。
mysql> SELECT now(); +---------------------+ | now() | +---------------------+ | 2011-10-27 09:49:42 | +---------------------+ 1 row in set
NOW() 函數傳回目前的日期和時間。
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標準。
以上就是MySQL時間日期查詢方法與函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!