目录

获取当前日期的函数和获取当前时间的函数

CURDATE()CURRENT_DATE()函数获取当前日期;CURTIME()CURRENT_TIME()函数获取当前时间。
mysql> SELECT CURDATE(), CURRENT_DATE(), CURTIME(), CURRENT_TIME();
+------------+----------------+-----------+----------------+
| CURDATE() | CURRENT_DATE() | CURTIME() | CURRENT_TIME() |
+------------+----------------+-----------+----------------+
| 2016-07-19 | 2016-07-19 | 13:46:18 | 13:46:18 |
+------------+----------------+-----------+----------------+

获取当前日期和时间的函数

NOW()函数获取当前日期和时间。
mysql> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2016-07-19 13:54:08 |
+---------------------+

获取月份的函数

MONTH(d)函数返回日期d中的月份值 ,其取值范围是1~12
mysql> SELECT NOW(), MONTH(NOW());
+---------------------+--------------+
| NOW() | MONTH(NOW()) |
+---------------------+--------------+
| 2016-07-21 13:48:47 | 7 |
+---------------------+--------------+
MONTHNAME(d)函数返回日期d中月份的英文名称,如January,February等
mysql> SELECT NOW(), MONTHNAME(NOW());
+---------------------+------------------+
| NOW() | MONTHNAME(NOW()) |
+---------------------+------------------+
| 2016-07-21 13:50:31 | July |
+---------------------+------------------+

获取星期的函数

DAYNAME(d)函数返回日期d是星期几,显示其英文名,如Monday,Tuesday等
mysql> SELECT NOW(), DAYNAME(NOW());
+---------------------+----------------+
| NOW() | DAYNAME(NOW()) |
+---------------------+----------------+
| 2016-07-21 13:52:52 | Thursday |
+---------------------+----------------+
DAYOFWEEK(d)函数返回日期d是星期几,1表示星期天,2表示星期一,依次类推
mysql> SELECT NOW(), DAYOFWEEK(NOW());
+---------------------+------------------+
| NOW() | DAYOFWEEK(NOW()) |
+---------------------+------------------+
| 2016-07-21 13:57:05 | 5 |
+---------------------+------------------+
WEEKDAY(d)函数返回日期d是星期几,0表示星期一,1表示星期2,依次类推
mysql> SELECT NOW(), WEEKDAY(NOW());
+---------------------+----------------+
| NOW() | WEEKDAY(NOW()) |
+---------------------+----------------+
| 2016-07-21 13:59:01 | 3 |
+---------------------+----------------+

获取星期数的函数

WEEK(d)函数和WEEKOFYEAR(d)函数都是计算日期d是本年的第几个星期,返回值范围是1~53
mysql> SELECT NOW(), WEEK(NOW()), WEEKOFYEAR(NOW());
+---------------------+-------------+-------------------+
| NOW() | WEEK(NOW()) | WEEKOFYEAR(NOW()) |
+---------------------+-------------+-------------------+
| 2016-07-21 14:03:17 | 29 | 29 |
+---------------------+-------------+-------------------+

获取天数的函数

DAYOFYEAR(d)函数返回日期d是本年的第几天
mysql> SELECT NOW(), DAYOFYEAR(NOW());
+---------------------+------------------+
| NOW() | DAYOFYEAR(NOW()) |
+---------------------+------------------+
| 2016-07-21 14:05:10 | 203 |
+---------------------+------------------+
DAYOFMONTH(d)函数返回日期d是本月的第几天
mysql> SELECT NOW(), DAYOFMONTH(NOW());
+---------------------+-------------------+
| NOW() | DAYOFMONTH(NOW()) |
+---------------------+-------------------+
| 2016-07-21 14:06:06 | 21 |
+---------------------+-------------------+

获取年份、季度、小时、分钟和秒数的函数

YEAR(d)函数返回日期d中的年份值;QUARTER(d)函数返回日期d是本年的第几个季度,值的范围是1~4;HOUR(t)函数返回时间t中的小时值;MINUTE(t)函数返回时间t中的分钟值;SECOND(t)函数返回时间t中的秒数。

mysql> SELECT NOW(), YEAR(NOW()), QUARTER(NOW()), HOUR(NOW()), MINUTE(NOW()), SECOND(NOW());
+---------------------+-------------+----------------+-------------+---------------+---------------+
| NOW() | YEAR(NOW()) | QUARTER(NOW()) | HOUR(NOW()) | MINUTE(NOW()) | SECOND(NOW()) |
+---------------------+-------------+----------------+-------------+---------------+---------------+
| 2016-07-21 14:10:49 | 2016 | 3 | 14 | 10 | 49 |
+---------------------+-------------+----------------+-------------+---------------+---------------+

计算日期和时间函数

TO_DAYS(d)函数计算日期d与0000年1月1日的天数
mysql> SELECT NOW(), TO_DAYS(NOW());
+---------------------+----------------+
| NOW() | TO_DAYS(NOW()) |
+---------------------+----------------+
| 2016-07-19 14:03:59 | 736529 |
+---------------------+----------------+
FROM_DAYS(n)函数计算从0000年1月1日开始n天后的日期
mysql> SELECT FROM_DAYS(736529);
+-------------------+
| FROM_DAYS(736529) |
+-------------------+
| 2016-07-19 |
+-------------------+
DATEDIFF(d1, d2)函数计算日期d1与d2之间相隔的天数
mysql> SELECT CURDATE(), DATEDIFF(CURDATE(), '2016-07-23');
+------------+-----------------------------------+
| CURDATE() | DATEDIFF(CURDATE(), '2016-07-23') |
+------------+-----------------------------------+
| 2016-07-21 | -2 |
+------------+-----------------------------------+
ADDDATE(d, n)函数返回起始日期d加上n天后的日期
mysql> SELECT CURDATE(), ADDDATE(CURDATE(), 2);
+------------+-----------------------+
| CURDATE() | ADDDATE(CURDATE(), 2) |
+------------+-----------------------+
| 2016-07-21 | 2016-07-23 |
+------------+-----------------------+
SUBDATE(d, n)函数返回起始日期d减去n天后的日期
mysql> SELECT CURDATE(), SUBDATE(CURDATE(), 2);
+------------+-----------------------+
| CURDATE() | SUBDATE(CURDATE(), 2) |
+------------+-----------------------+
| 2016-07-21 | 2016-07-19 |
+------------+-----------------------+
ADDTIME(t, n)函数返回起始时间t加上n秒后的时间
mysql> SELECT CURTIME(), ADDTIME(CURTIME(), 50);
+-----------+------------------------+
| CURTIME() | ADDTIME(CURTIME(), 50) |
+-----------+------------------------+
| 09:02:18 | 09:03:08 |
+-----------+------------------------+

注:实际操作中,当t >= 60时,ADDTIME(t, n)函数返回NULL

SUBTIME(t, n)函数返回起始时间t减去n秒后的时间
mysql> SELECT CURTIME(), SUBTIME(CURTIME(), 10);
+-----------+------------------------+
| CURTIME() | SUBTIME(CURTIME(), 10) |
+-----------+------------------------+
| 09:06:25 | 09:06:15 |
+-----------+------------------------+

注:实际操作中,当t >= 60时,SUBTIME(t, n)函数返回NULL

ADDDATE(d, INTERVAL expr type)DATE_ADD(d, INTERVAL expr type)返回起始日期d加上一个时间段后的日期
  • expr:时间段长度的表达式。
  • type:日期间隔类型。

日期间隔类型:

类型 含义 expr 表达式的形式
YEAR YY
MONTH MM
DAY DD
HOUR hh
MINUTE mm
SECOND ss
YEAR_MONTH 年和月 YY 和 MM 之间用任意符号隔开
DAY_HOUR 日和小时 DD 和 hh 之间用任意符号隔开
DAY_MINUTE 日和分钟 DD 和 mm 之间用任意符号隔开
DAY_SECOND 日和秒 DD 和 ss 之间用任意符号隔开
HOUR_MINUTE 时和分 hh 和 mm 之间用任意符号隔开
HOUR_SECOND 时和秒 hh 和 ss 之间用任意符号隔开
MINUTE_SECOND 分和秒 mm 和 ss 之间用任意符号隔开
mysql> SELECT NOW(), ADDDATE(NOW(), INTERVAL 1 MONTH);
+---------------------+----------------------------------+
| NOW() | ADDDATE(NOW(), INTERVAL 1 MONTH) |
+---------------------+----------------------------------+
| 2016-07-21 11:46:33 | 2016-08-21 11:46:33 |
+---------------------+----------------------------------+
SUBDATE(d, INTERVAL expr type)函数返回起始日期d减去一个时间段后的日期
mysql> SELECT NOW(), SUBDATE(NOW(), INTERVAL 1 MONTH);
+---------------------+----------------------------------+
| NOW() | SUBDATE(NOW(), INTERVAL 1 MONTH) |
+---------------------+----------------------------------+
| 2016-07-21 11:49:42 | 2016-06-21 11:49:42 |
+---------------------+----------------------------------+

将日期和时间格式化的函数

DATE_FORMAT(d, f)函数按照表达式f的要求显示日期d

日期时间格式:

符号 含义 取值示例
%Y 以4位数字表示年份 2008,2009等
%y 以2位数字表示年份 98,99等
%m 以2位数字表示月份 01,02等
%c 以数字表示月份 1,2等
%M 月份的英文名 January,February等
%b 月份的英文缩写 Jan,Feb等
%U 表示星期数,其中 Sunday 是星期的第一天 00~52
%u 表示星期数,其中 Monday 是星期的第一天 00~52
%j 以3位数字表示年中的天数 001~366
%d 以2位数字表示月中的几号 01~31
%e 以数字表示月中的几号 1~31
%D 以英文后缀表示月中的几号 1st,2nd等
%w 以数字的形式表示星期几 0表示Sunday,1表示Monday
%W 星期几的英文名 Monday,... , Sunday
%a 星期几的英文缩写 Mon, ... , Sun
%T 24小时制的时间形式 00:00:00~23:59:59
%r 12小时制的时间形式 12:00:00AM~11:59:59PM
%p 上午或下午 AM或PM
%k 以数字表示24小时 0,1,...,23
%l 以数字表示12小时 0,1,...,12
%H 以2位数表示24小时 00,01,...,23
%h,%I 以2位数表示12小时 00,01,...,12
%i 以2位数表示分 00~59
%S,%s 以2位数表示秒 00~59
%% 标识符%
mysql> SELECT NOW(), DATE_FORMAT(NOW(), '%Y-%M-%d %H:%i:%s');
+---------------------+-----------------------------------------+
| NOW() | DATE_FORMAT(NOW(), '%Y-%M-%d %H:%i:%s') |
+---------------------+-----------------------------------------+
| 2016-07-21 13:33:12 | 2016-July-21 13:33:12 |
+---------------------+-----------------------------------------+

MySQL 笔记 —— 日期和时间函数的更多相关文章

  1. MySQL数据库—日期与时间函数

    一. 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为 ...

  2. mysql 的日期和时间函数

    执行函数方式 select 函数  函数名称 函   数 功   能 CURDATE() 获取当前日期 CURTIME() 获取当前时间 NOW() 获取当前的日期和时间 UNIX_TIMESTAMP ...

  3. MySql日期与时间函数

    select DATE_FORMAT(date_sub(current_date(), interval 1 day), '%Y-%m-%d') -- 2018-05-29(昨天) select DA ...

  4. 转)MySQL日期与时间函数

    -- MySQL日期时间处理函数 -- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报) SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 ...

  5. MySQL日期和时间函数汇总

    本文基于MySQL8.0 本文介绍MySQL关于日期和时间操作的函数. 日期和时间函数 函数 描述 ADDDATE() 给日期值添加时间值 ADDTIME() 添加time CONVERT_TZ() ...

  6. sql的日期和时间函数–date_format

    Mysql的日期和时间函数–date_format   DATE_FORMAT(date,format)依照 format 字符串格式化 date 值.下面的修饰符可被用于 format 字符串中:修 ...

  7. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  8. MySQL数据库9 - 日期与时间函数

    一 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为数 ...

  9. MySQL中的日期和时间函数

    常用日期函数如下: 函   数 功   能 CURDATE() 获取当前日期 CURTIME() 获取当前时间 NOW() 获取当前的日期和时间 UNIX_TIMESTAMP(date) 获取日期的U ...

随机推荐

  1. ASP.NET 5应用是如何运行的(3)

    ASP.NET 5应用是如何运行的(3) 设置自定义的入口程序体现应用本身与应用托管之间的分离,它使我们可以创建独立于托管环境的应用,并根据需要寄宿于任何一个我们希望的宿主程序下,对于Web应用来说这 ...

  2. 在linux中如何调试C语言程序

    在Linux下面可以使用下面几种形式对C语言进行调试: 1 gdb gdb program 这是最原始的调试方法,若非熟悉命令行,这种方式其实是比较麿人的.有兴趣的可以参考一些我之前的博文.http: ...

  3. 关于标准I/O缓冲区和fork函数

    标准I/O库提供缓冲的目的是尽可能减少使用read和write调用的次数.标准I/O提供三个类型的缓冲:全缓冲.行缓冲和不带缓冲.标准输入(stdin)和标准输出(stdout)是行缓冲,标准出错(s ...

  4. Ora中select某时间段记录sql语句

    要查找某时间段的记录,例如查找2013-11-1到2013-11-30的记录. ' group by user_name, user_id 注意:SQL语句中含有sum累加函数,末尾要加group b ...

  5. springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

    参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp ...

  6. 配置Sublime Text 2 的Python运行环境

    Sublime Text 2作为一款轻量级的编辑器,特点鲜明,方便使用,愈发受到普罗大众的喜爱,我个人最近也开始用了起来.同时,我近段时间还在学习Python的相关东西,所以开始用ST2来写Pytho ...

  7. Django是Python下的一款网络服务器框架

    被解放的姜戈01 初试天涯   Django是Python下的一款网络服务器框架.Python下有许多款不同的框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django ...

  8. messageBox以及新窗体的使用

    DialogResult dr = MessageBox.Show("你确定要点击吗", "安全提示", MessageBoxButtons.YesNo);   ...

  9. PLAN: step one

    1. 熟悉Unix/Linux Shell和常见的命令行  (start : 7.9 - end: 7.12) 1.文件系统结构和基本操作 ls/chmod/chown/rm/find/ln/cat/ ...

  10. PLAN : 入门题目 ( update )

    更新后 step 1 : A07, A11, A12,A14,A15,A18,A22,A24,A25,A26 A27,A29,A31,A32,A34,A59,A66,A69,A84,B24 B45,B ...