视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL时间日期查询相关函数与方法
2020-11-09 13:35:54 责编:小采
文档


MySQL应用中,日期与查询是非常普遍的。比如要查某天、某个星期、或者某个月内的数据,查询两个日期之间的天数差,查询某天是星期几等等。下面就介绍一下相关的MySQL时间与日期函数,与它们的具体使用方法。 NOW() 函数 MYSQL 有没有像 MSSQL 的 getdate()

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标准。

下载本文
显示全文
专题