明辉站/应用软件/内容

MySQL查询时间日期的方法与函数

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

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中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

……

相关阅读