MySQL時間日期查詢方法與函數

黄舟
發布: 2017-02-22 10:58:04
原創
1885 人瀏覽過

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標準。

以上就是MySQL時間日期查詢方法與函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板