在 MySql 中经常会用到日期,关于常用的日期函数,做了以下的总结:

1 . now()

作用; 获取当前的日期

除此之外,获取当前日期的函数还有: current_timestamp(); current_time; localtime(); localtime; localtimestamp(); localtimestamp;但是这些日期函数,与 now() 的效果相同, 为了方便记忆,建议使用 now() 来代替上面的函数。

mysql> select now();
+---------------------+
| now() |
+---------------------+
| -- :: |
+---------------------+
row in set mysql> select datediff(now(),'2015-1-1');
+----------------------------+
| datediff(now(),'2015-1-1') |
+----------------------------+
| |
+----------------------------+
row in set mysql> select localtime();
+---------------------+
| localtime() |
+---------------------+
| -- :: |
+---------------------+
row in set mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| -- :: |
+---------------------+
row in set mysql> select localtime;
+---------------------+
| localtime |
+---------------------+
| -- :: |
+---------------------+
row in set mysql> select localtimestamp;
+---------------------+
| localtimestamp |
+---------------------+
| -- :: |
+---------------------+
row in set mysql> select localtimestamp();
+---------------------+
| localtimestamp() |
+---------------------+
| -- :: |
+---------------------+
row in set mysql> select sysdate();
+---------------------+
| sysdate() |
+---------------------+
| -- :: |
+---------------------+
row in set

2. sysdate()

作用: 这个日期函数与 now() 类似,不同的地方是:  now() 在执行开始时就得到的确定,而 sysdate() 则是在运行时动态得到 值。

如下所示:

mysql> select now(), sleep(30), now();
+---------------------+-----------+---------------------+
| now() | sleep(30) | now() |
+---------------------+-----------+---------------------+
| 2015-05-13 15:01:49 | 0 | 2015-05-13 15:01:49 |
+---------------------+-----------+---------------------+
1 row in set mysql> select sysdate(), sleep(30), sysdate();
+---------------------+-----------+---------------------+
| sysdate() | sleep(30) | sysdate() |
+---------------------+-----------+---------------------+
| 2015-05-13 15:02:52 | 0 | 2015-05-13 15:03:22 |
+---------------------+-----------+---------------------+
1 row in set

在用 now() 时,在途中 sleep 了 30秒 ,但是 Now() 的结果是相同的, 而在 sysdate() 中 sleep 了 30秒, 结果就不同了,结果是 sleep 30 秒后的值

3.  curdate()

作用; 获取当前日期

函数 current_date(); current_date; 与 curdate() 功能一样

mysql> select curdate();
+------------+
| curdate() |
+------------+
| 2015-05-13 |
+------------+
1 row in set mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2015-05-13     |
+----------------+
1 row in set mysql> select current_date;
+--------------+
| current_date |
+--------------+
| 2015-05-13   |
+--------------+
1 row in set

4. curtime()

作用: 获取当前时间 ,其功能与 current_time current_time() 是一样的

mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 15:04:42 |
+-----------+
1 row in set mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 15:05:05 |
+----------------+
1 row in set mysql> select current_time;
+--------------+
| current_time |
+--------------+
| 15:05:09 |
+--------------+
1 row in set

5. utc_date(); utc_time(); utc_timestamp();

作用: 获取当前 utc 时间的函数

mysql> select utc_timestamp(), utc_date(),utc_time(),now();
+---------------------+------------+------------+---------------------+
| utc_timestamp() | utc_date() | utc_time() | now() |
+---------------------+------------+------------+---------------------+
| 2015-05-13 07:05:51 | 2015-05-13 | 07:05:51 | 2015-05-13 15:05:51 |
+---------------------+------------+------------+---------------------+
1 row in set

6. date(); year(); month(); day(); time(); week(); hour(); minute(); second(); microsecond();

作用; 获取日期中的部分值

mysql> set @date='2015-05-05 14:23:34.345687'
-> select date(@date)
-> select time(@date)
-> select year(@date)
-> select quarter(@date)
-> select month(@date)
-> select week(@date)
-> select day(@date)
-> select hour(@date)
-> select minute(@date)
-> select second(@date)
-> select microsecond(@date);

7. extract()

作用: 和上面所列举的函数功能一样, 只是函数的书写方式不同

mysql> set @date='2015-05-05 14:23:34.345687'
-> select extract(year from @date)

8.  last_day()

作用: 返回月份的最后一天

9. datedifff()

作用: 计算两个日期间的相差的天数

mysql> select datediff(now(),'2015-05-05');
+------------------------------+
| datediff(now(),'2015-05-05') |
+------------------------------+
| 8 |
+------------------------------+

10. str_to_date(str,format)

作用: 可以把一些杂乱无章的字符串转换成日期格式,也可以转换成时间

有关更多的 Mysql 函数,可以参考 Mysql 在线手册:http://www.cbi.pku.edu.cn/chinese/documents/csdoc/mysql/manual_toc.html

MySql 日期函数的更多相关文章

  1. [php基础]Mysql日期函数:日期时间格式转换函数详解

    在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...

  2. mysql 日期函数总结

    1.0 格式化:DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是合法的日期.format 规定日期/时间的 ...

  3. MYSQL 日期函数【转】

    MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03'); WE ...

  4. mysql日期函数(转)

    MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | n ...

  5. Mysql日期函数,时间函数使用的总结

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now();+--------------------- ...

  6. MySQL:日期函数、时间函数总结

    MySQL 获得当前日期时间 函数 查询昨天,时间拼接 select concat(DATE_FORMAT(date_add(now(), interval -1 day),'%Y-%d-%d'),& ...

  7. MySQL日期函数、时间函数总结(MySQL 5.X)

    一.获得当前日期时间函数 1.1 获得当前日期+时间(date + time)函数:now() select now(); # :: 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下 ...

  8. mysql 日期函数大全

    对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型. 这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: my ...

  9. MySQL日期函数与日期转换格式化函数大全

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) 1 2 SELECT DAYOFWEEK('201 ...

随机推荐

  1. C#中WebService 的 Timer定时器过段时间后自动停止运行

    我用.net做的一个Timer定时器,定时获取短信并给予回复,但大概过了十几个小时以后,Timer定时器会自动停止,再发送短信就不能收到回复,需要在服务器中重新运行定时器才可以,请教各位! 我是在.n ...

  2. [系统集成] Android 自动构建系统

    一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包android 的打包一般 ...

  3. [系统集成] CI持续集成项目简介

    一.问题的产生 公司的多个部门围绕着产品开发.测试.发布.维护,设置有不同的岗位和系统,这些岗位和系统缺少有效的整合,没有实现自动化,效率不是很高,因此就有了CI(持续集成)的项目需求. 二.解决方案 ...

  4. C++库大全(转)

    基础类1. Dinkumware C++ Library 参考站点:http://www.dinkumware.com P.J. Plauger编写的高品质的标准库.P.J. Plauger博士是Dr ...

  5. DG_Oracle DataGuard Primary/Standby物理主备节点安装实践(案例)

    2014-09-09 Created By BaoXinjian

  6. NeHe OpenGL教程 第十六课:雾

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. 常见数组&字符串API及其应用场景总结

    数组API: String(arr):将arr中每个元素转化为字符串,逗号连接     场景:用于鉴别数据有没有修改等. ps:String是万能的   toString 只能转换除null和unde ...

  8. JAVA实例,求用户输入的整数是否是偶数

    题目:用户能输入一个整数,输入后返回是偶数还是奇数. 偶数规则:除以2能整除的数称之为偶数,否则是奇数 实例: switch版 import java.util.Scanner; public cla ...

  9. JQuery之DataTables强大的表格解决方案

    1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ); 示例:http://www.guoxk ...

  10. ruby字符串学习笔记5

    1获取字符串某部分 s = "My kingdom for a string!" s.slice(3,7) # kingdom s[3,7] # kingdom s[/.ing/] ...