当前位置:首页>软件介绍>MySQL时间获取 查询:
     
MySQL时间获取

        通常我们会有一些时间的转换需求,比如要统计某个时间段的收入,比如要截取某个时间的年份,比如要根据某个日期推算出是星期几等个,这些都可以通过Mysql自带的时间函数很容易实现。因为我对Mysql的函数还不熟,而通常又会调用这些时间函数,这边稍加总结以便查询。 

        –返回当前时间 

        mysql> select now(),date(now()),sysdate(); 

        +---------------------+-------------+---------------------+ 

        | now() | date(now()) | sysdate() | 

        +---------------------+-------------+---------------------+

        | 2008-12-02 10:11:36 | 2008-12-02 | 2008-12-02 10:11:36 |

         +---------------------+-------------+---------------------+ 

        1 row in set (0.00 sec) 

        mysql> select curdate(),curdate()+0,curtime(),curtime()+0; 

        +---------------------+-------------+---------------------+ 

        | curdate() | curdate()+0 | curtime() | curtime()+0 |

        +---------------------+-------------+---------------------+ 

        | 2008-12-02 | 20081202 | 10:00:33 | 100033.000000 | 

        ---------------------+-------------+---------------------+ +

        –返回日期当月最后一天 

        mysql> select last_day('2008-12-02'); 

        ------------------------+ +

        | last_day('2008-12-02') | 

        +------------------------+ 

        | 2008-12-31 | 

        +------------------------+ 

        1 row in set (0.00 sec) 

        –返回日期的星期几 

        mysql> select dayname('2008-12-02'),dayofweek('2008-12-02'); 

        +-----------------------+-------------------------+ 

        | dayname('2008-12-02') | dayofweek('2008-12-02') |

         +-----------------------+-------------------------+ 

        | tuesday | 3 | 

        +-----------------------+-------------------------+ 

        1 row in set (0.00 sec) 

        –返回日期的年,月,日 

        mysql> select month('2008-12-02'),year('2008-12-02'),day('2008-12-02'); 

        +---------------------+--------------------+-------------------+ 

        | month('2008-12-02') | year('2008-12-02') | day('2008-12-02') |

         +---------------------+--------------------+-------------------+ 

        | 12 | 2008 | 2 | 

        +---------------------+--------------------+-------------------+ 

        1 row in set (0.00 sec) 

        –返回日期的小时,分,秒 

        mysql> select hour('10:05:03'),minute('10:05:03'),second('10:05:03'); 

        +------------------+--------------------+--------------------+

         | hour('10:05:03') | minute('10:05:03') | second('10:05:03') | 

        +------------------+--------------------+--------------------+

         | 10 | 5 | 3 | 

        +------------------+--------------------+--------------------+ 

        1 row in set (0.00 sec) 

        1.subdate(d,t):起始时间加上一段时间(year,month,day„) 

        mysql> select date_add('1998-01-02', interval 31 day),adddate('1998-01-02', 31);

         +-----------------------------------------+---------------------------+ 

        | date_add('1998-01-02', interval 31 day) | adddate('1998-01-02', 31) | 

        +-----------------------------------------+---------------------------+ 

        | 1998-02-02 | 1998-02-02 |

         +-----------------------------------------+---------------------------+ 

        1 row in set (0.00 sec) 

        mysql> select date_add('1998-01-02',interval 2 year); 

        +-----------------------------------------------------+ 

        | date_add('1998-01-02', interval 2 year) 

        +-----------------------------------------------------+ 

        | 2000-01-02 

        +-----------------------------------------------------+ 

        1 row in set (0.00 sec) 

        mysql> select date_add('1998-01-02', interval 2 hour); 

        +-----------------------------------------------------+ 

        | date_add('1998-01-02', interval 2 hour) 

        +-----------------------------------------------------+ 

        | 1998-01-02 02:00:00 

        +-----------------------------------------------------+ 

        1 row in set (0.00 sec) 

        2.subdate(d,t):起始时间减去一段时间 

        mysql> select subdate('1998-01-02', interval 31 day),subdate('1998-01-02', 31); 

        +----------------------------------------+---------------------------+ 

        | subdate('1998-01-02', interval 31 day) | subdate('1998-01-02', 31) | 

        +----------------------------------------+---------------------------+ 

        | 1997-12-02 | 1997-12-02 | 

        +----------------------------------------+---------------------------+ 

        1 row in set (0.00 sec) 

        3.addtime(d,t):起始时间d加入时间t 

        mysql> select addtime('1997-12-31 23:59:50','00:00:05'), 

        addtime('23:59:50','00:00:05') ; 

        +-------------------------------------------+--------------------------------+ 

        | addtime('1997-12-31 23:59:50','00:00:05') | addtime('23:59:50','00:00:05') | 

        +-------------------------------------------+--------------------------------+ 

        | 1997-12-31 23:59:55 | 23:59:55 |

         +-------------------------------------------+--------------------------------+ 

        1 row in set (0.00 sec) 

        4.subtime(d,t):起始时间d减去时间t 

        mysql> select subtime('1997-12-31 23:59:50','00:00:05'), 

        subtime('23:59:50','00:00:05'); 

        +-------------------------------------------+--------------------------------+ 

        | subtime('1997-12-31 23:59:50','00:00:05') | subtime('23:59:50','00:00:05') |

         +-------------------------------------------+--------------------------------+

         | 1997-12-31 23:59:45 | 23:59:45 |

         +-------------------------------------------+--------------------------------+ 

        

        (0.00 sec) 1 row in set

        5.datediff(d1,d2):返回起始时间d1和结束时间d2之间的天数 

        mysql> select datediff('1997-12-31 23:59:59','1997-12-30'); 

        +----------------------------------------------+ 

        | datediff('1997-12-31 23:59:59','1997-12-30') | 

        +----------------------------------------------+ 

        | 1 | 

        +----------------------------------------------+ 

        1 row in set (0.00 sec) 

        6.date_format(date,format):根据format字符串显示date值的格式 

        mysql> select date_format('2008-12-02 22:23:00', '%y %m %m %h:%i:%s'); 

        +---------------------------------------------------------+ 

        | date_format('2008-12-02 22:23:00', '%y %m %m %h:%i:%s') | 

        +---------------------------------------------------------+ 

        | 2008 12 12 22:23:00 | 

        +---------------------------------------------------------+ 

        1 row in set (0.00 sec) 

        7.str_to_date(str,format) 字符串转化为时间 

        mysql> select str_to_date('04/31/2004', '%m/%d/%y %h:%i:s'); 

        +-----------------------------------------------+ 

        | str_to_date('04/31/2004', '%m/%d/%y %h:%i:s') | 

        +-----------------------------------------------+ 

        | 2004-04-31 00:00:00 | 

        +-----------------------------------------------+ 

        1 row in set (0.00 sec) 

        8.timestamp(expr) , timestamp(expr,expr2) : 

        对于一个单参数,该函数将日期或日期时间表达式 expr 作为日期时间值返回.对于两个参数, 

        expr2添加到日期或日期时间表达式 expr 中,将theresult作为日期时它将时间表达式间值返回 

        mysql> select timestamp('2003-12-31'), timestamp('2003-12-31 12:00:00','12:00:00'); 

        +-------------------------+---------------------------------------------+ 

        | timestamp('2003-12-31') | timestamp('2003-12-31 12:00:00','12:00:00') | 

        +-------------------------+---------------------------------------------+ 

        | 2003-12-31 00:00:00 | 2004-01-01 00:00:00 |

         +-------------------------+---------------------------------------------+ 

        1 row in set (0.00 sec) 

        9.取当天0点0分,下一天0点0分 

        mysql> select timestamp(date(sysdate())),timestamp(adddate(date(sysdate()),1)); 

        +----------------------------+---------------------------------------+ 

        | timestamp(date(sysdate())) | timestamp(adddate(date(sysdate()),1)) | 

        +----------------------------+---------------------------------------+

         | 2008-12-02 00:00:00 | 2008-12-03 00:00:00 |

         +----------------------------+---------------------------------------+

         1 row in set (0.00 sec) 

        


MySQL的分页的优化MySQL正则表达式的描述
MySQL的命名规则MySQL的information_schema数据库介绍
MySQL数据库知识详解MySQL LAST_INSERT_ID详解
MySQL安装与常用命令MySQL配置文件详细
MySQL之存储引擎MySQL主从复制原理
MySQL的ODBC配置MySQL时间计算
MySQL的乱码解决方法MySQL乱码问题
MySQL数据查询MySQL的添加insert语法
信息发布:广州名易软件有限公司 http://www.myidp.net
  • 名易软件销售服务
  • 名易软件销售服务
  • 名易软件技术服务

  • MySQL时间获取