MySQL 笔记 —— 日期和时间函数
- 获取当前日期的函数和获取当前时间的函数
- 获取当前日期和时间的函数
- 获取月份的函数
- 获取星期的函数
- 获取星期数的函数
- 获取天数的函数
- 获取年份、季度、小时、分钟和秒数的函数
- 计算日期和时间函数
- TO_DAYS(d)函数计算日期d与0000年1月1日的天数
- FROM_DAYS(n)函数计算从0000年1月1日开始n天后的日期
- DATEDIFF(d1, d2)函数计算日期d1与d2之间相隔的天数
- ADDDATE(d, n)函数返回起始日期d加上n天后的日期
- SUBDATE(d, n)函数返回起始日期d减去n天后的日期
- ADDTIME(t, n)函数返回起始时间t加上n秒后的时间
- SUBTIME(t, n)函数返回起始时间t减去n秒后的时间
- ADDDATE(d, INTERVAL expr type)和DATE_ADD(d, INTERVAL expr type)返回起始日期d加上一个时间段后的日期
- SUBDATE(d, INTERVAL expr type)函数返回起始日期d减去一个时间段后的日期
- 将日期和时间格式化的函数
获取当前日期的函数和获取当前时间的函数
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 笔记 —— 日期和时间函数的更多相关文章
- MySQL数据库—日期与时间函数
一. 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为 ...
- mysql 的日期和时间函数
执行函数方式 select 函数 函数名称 函 数 功 能 CURDATE() 获取当前日期 CURTIME() 获取当前时间 NOW() 获取当前的日期和时间 UNIX_TIMESTAMP ...
- MySql日期与时间函数
select DATE_FORMAT(date_sub(current_date(), interval 1 day), '%Y-%m-%d') -- 2018-05-29(昨天) select DA ...
- 转)MySQL日期与时间函数
-- MySQL日期时间处理函数 -- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报) SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 ...
- MySQL日期和时间函数汇总
本文基于MySQL8.0 本文介绍MySQL关于日期和时间操作的函数. 日期和时间函数 函数 描述 ADDDATE() 给日期值添加时间值 ADDTIME() 添加time CONVERT_TZ() ...
- sql的日期和时间函数–date_format
Mysql的日期和时间函数–date_format DATE_FORMAT(date,format)依照 format 字符串格式化 date 值.下面的修饰符可被用于 format 字符串中:修 ...
- MYSQL学习笔记三:日期和时间函数
MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...
- MySQL数据库9 - 日期与时间函数
一 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为数 ...
- MySQL中的日期和时间函数
常用日期函数如下: 函 数 功 能 CURDATE() 获取当前日期 CURTIME() 获取当前时间 NOW() 获取当前的日期和时间 UNIX_TIMESTAMP(date) 获取日期的U ...
随机推荐
- Node+Express+MongoDB + Socket.io搭建实时聊天应用
Node+Express+MongoDB + Socket.io搭建实时聊天应用 前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战 ...
- SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
原文:SQL点滴10-使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比 今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章 ...
- linux大杂烩
linux: 进入hbase后不能移动光标和删除 Options-Session Options -- Terminal --右边的Terminal中选择linux然后点击OK就好了
- Oracleclient+PLSQL Developer实现远程登录Oracle数据库
Oracle数据库功能强大.性能卓越,在造就这些长处的同一时候,也导致Oracle占内存比較多.针对这个问题,我们怎样做到取其精华去其糟粕呢? 解决方式:我们能够在局域网内的server上安装庞大的O ...
- 基于jQuery的上下无缝滚动应用(单行或多行)
工作中遇到的一个js代码,现在对.trigger('mouseleave'),仍一知半解... <script>$(function(){//单行应用var _wrap=$('ul.lin ...
- 【SSRS】入门篇(二) -- 建立数据源
原文:[SSRS]入门篇(二) -- 建立数据源 通过 [SSRS]入门篇(一) -- 创建SSRS项目 这篇,我们建立了一个SSRS项目: 接下来,我们以 AdventureWorks2012 示例 ...
- class 添加样式,删除,开关 【选择】addClass,removeClass,toggleClass
<1> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>< ...
- mvc4中jquery-ui日期控件datepicker的应用
mvc4中jquery-ui日期控件datepicker的应用 本文适合mvc中日期选择需要的同学: 假设读者已经具备了mvc4和javascript中的相关知识 一. 开始项目之前把项目中目录:/C ...
- Xcode开发和调试总结
Xcode是iOS开发主要的工具.IDE.关于Xcode的细枝末节,可以参考苹果的官方文档或者众多的说明.此文档主要涉及常用开发和调试注意事项,参考版本为Xcode 5.1.1. 目标设置: 在此,我 ...
- CLR基础之一---认识CLR [《CLR via C#》读书笔记]
<CLR via C#>读书笔记 什么是CLR CLR的基本概念 通用语言运行平台(Common Language Runtime,简称CLR)是微软为他们的.Net虚拟机所选用的名称.这 ...