`

MySQL 时间日期类型和相关函数

阅读更多

MySQL 时间日期类型和相关函数

 

一、时间日期类型

MySQL中的日期和时间类型
类型 字节 最小值 最大值 零值
DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59 0000-00-00 00:00:00
DATE 4 1000-01-01 9999-12-31 0000-00-00
TIMESTAMP 4 19700101080001 2038年某时刻 00000000000000
TIME 3 -838:59:59 838:59:59 00:00:00
YEAR 1 1901 2155 0000

 

TIMESTAMP返回的格式为"YYYY-MM-DD HH:MM:SS",宽度固定为19个字符,要想获得数字值,可以 select current_timestamp+0 的方式:


 

 

YEAR有2位(5.5.27之前的版本有)或4位格式的年,默认是4位格式,在4位格式中,允许的值1901 ~ 2155和0000,在2位格式中,允许的值是70 ~ 69,表示1970 ~ 2069,YEAR返回的格式为“YYYY”。

 

对于以上所有时间和日期类型,若想插入当前时间对应的值,可以用current_timestamp、now():


 
 

 

二、时间日期函数 

 

MySQL中的日期时间函数
函数 功能 格式
CURDATE() 返回当前日期 2016-10-29
CURTIME() 返回当前时间 11:20:34
NOW() 返回当前的日期和时间 2016-10-29 11:21:02

UNIX_TIMESTAMP(date)

UNIX_TIMESTAMP()

返回日期date的UNIX时间戳

执行:select unix_timestamp()

输出:1477711822

FROM_UNIXTIME(unix_timestamp) 返回UNIX时间戳的日期值

执行:select from_unixtime(1477670400)

输出:2016-10-29 11:30:22

WEEK(date) 返回日期date为一年中的第几周

执行:select week(curdate())

输出:43

YEAR(date) 返回日期date的年份

执行: select year(curdate())

输出:2016

HOUR(time) 返回time的小时值

执行:select hour(curtime());

输出:11

MINUTE(time) 返回time的分钟值

执行:select minute(curtime())

输出:36

MONTHNAME(date) 返回date的月份名

执行:select monthname(curdate())

输出October

DATE_FORMAT(date, format) 返回按字符串format格式化日期date值

执行:select date_format(now(), '%Y年%c月%e日 %T时%i分%S秒');

输出:2016年10月29日 11:44:57时44分57秒

DATE_ADD(date,INTERVAL expr type) 返回一个日期值加上一个时间间隔的时间值

执行:select now() current,date_add(now(),INTERVAL 1 day) after_one_day;

输出:2016-10-29 11:52:10 | 2016-10-30 11:52:10

DATEDIFF(expr1,expr2) 返回起始时间expr1和结束时间expr2之间的天数

执行:select datediff('2016-10-20',now());

输出:-9

执行:select datediff(now(),'2016-10-20')

输出:9

 

UNIX_TIMESTAMP(date)和 FROM_UNIXTIME(unix_timestamp)是互逆作用的.

 

DATE_FORMAT(date,format)函数:

 

format字符串中的格式符:

MySQL中的日期和时间格式
格式符 格式说明
%S和%s 两位数字形式的秒(00, 01, ... , 59)
%i 两位数字的分(00, 01, ... , 59)
%H 两位数字形式的小时,24小时(00,01,...,23)

%h和%I

两位数字形式的小时,24小时(01,02,...,12)
%k 数字形式的小时,24小时(0,1,2,...,23)
%l 数字形式的小时,12小时(1,2,...,12)
%T 24小时的时间形式(hh:mm:ss)
%r 12小时的时间形式(hh:mm:ssAM或hh:mm:ssPM)
%p AM或PM
%W 一周中每一天的名称(Sunday,Monday,...,Saturday)
%a 一周中每一天的名称缩写(Sun,Mon,...,Sat)
%d 两位数字表示月中的天数(00,01,...,31)
%e 数字表示月中天数(1,2,...,31)
%D 英文后缀表示月中的天数(1st,2nd,3rd,...)
%w 数字形式表示周中的天数(0=Sunday,1=Monday...)
%j 以3位数字表示年中天数(001,002,...,366)
%U 年的周(0,1...,52),其中Sunday位周第一天
%u 年的周(0,1...,52),其中Monday位周第一天
%M 月名(January,February,...,December)
%b 缩写的月名(Jan,Feb,...Dec)
%m 两位数字表示的月份(01,02,...,12)
%c 数字表示的月份(1,2,...,12)
%Y 4位数字表示的年份
%y 两位数字表示的年份
%% 转义

 

实例:


 

 

 

 DATE_ADD(date,INTERVAL expr type):其中INTERVAL时间隔类型关键字,expr是一个表达式,对应后面的类型,type时间隔类型,其值如下表

MySQL日期间隔类型
表达式类型 描述 格式
HOUR 小时 hh
MINUTE mm
SECOND ss
YEAR YY

MONTH

MM
DAY DD
YEAR_MONTH 年和月 YY-MM
DAY_HOUR 日和小时 DD hh
DAY_MINUTE 日和分钟 DD hh:mm
DAY_SECOND 日和秒 DD hh:mm:ss
HOUR_MINUTE 小时和分 hh:mm
HOUR_SECOND 小时和秒 hh:ss
MINUTE_SECOND 分钟和秒 mm:ss

 

例如,得到3天5小时后的时间:

 

 

得到3天5小时前的时间:

 

 

关于datetime和timestamp

 

MySQL中datetime能保存的日期范围从1001年到9999年,精度为秒,存储时把日期和时间封装为YYYYMMDDHHMMSS的格式的整数中,与时区无关,使用8个字节存储。

 

timestamp类型能保存的日期范围从1970年1月1日到2038年12月31日,它存储的是时间戳,只用了4个字节,所以范围比datetime小很多,timestamp是和时区相关的。默认情况下,如果插入时没有指定第一个timestamp列的值,那么mysql会默认给设置当前时间。在更新一行记录时,也会更新第一个timestamp列的值为当前时间(除非指定了该列的值)

 

 

 

 

  • 大小: 3.1 KB
  • 大小: 3.1 KB
  • 大小: 3.4 KB
  • 大小: 14.3 KB
  • 大小: 3.4 KB
  • 大小: 10.4 KB
0
1
分享到:
评论

相关推荐

    mysql的日期和时间函数.rar

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,其在处理日期和时间数据方面提供了丰富的函数和操作。日期和时间函数是MySQL中的重要组成部分,它们允许我们进行日期和时间的计算、格式化以及各种操作,极大地...

    mysql日期函数时间函数及加减运算

    MySQL 日期函数和时间函数是 MySQL 中非常重要的函数,用于处理日期和时间数据类型。这些函数可以帮助开发者快速获得当前日期和时间、执行日期和时间相关的操作。 获得当前日期时间函数 MySQL 中有多种方式可以...

    Mysql函数手册.rar_MySQL函数手册_VZI_mysql 函数手册

    3. 日期和时间函数:如NOW()获取当前日期和时间,DATE_FORMAT()用于格式化日期和时间,DATE_ADD()和DATE_SUB()可以对日期进行加减操作。 4. 转换函数:如CAST()和CONVERT()用于在不同数据类型间转换,以及INET_ATON...

    Mysql日期和时间函数大全[归类].pdf

    Mysql日期和时间函数大全是Mysql中日期和时间处理函数的集合,它们用于处理日期和时间类型的数据。这些函数可以用于各种日期和时间相关的计算、比较和格式化操作。 日期和时间类型 在Mysql中,日期和时间类型包括...

    mysql的日期和时间函数

    mysql的日期和时间函数 这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。 mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) ...

    mysql的时间和日期函数

    MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了丰富的内置函数来帮助开发者进行时间和日期的操作。本文将详细介绍MySQL中常用的时间和日期函数及其应用场景。 #### 1. WEEKDAY(date) 此函数返回指定...

    关系型数据库中MySQL常用函数的作用和例子说明

    内容概要:笔者将MySQL常用的函数分为字符串函数、窗口函数、日期和时间函数、聚合函数、数值型函数、逻辑判断函数六类。将每一类别中常用的函数进行汇总,主要向读者介绍各个类别中常用函数的作用,在介绍的同时给...

    MySQL日期数据类型、MySQL时间类型使用总结

    ### MySQL日期数据类型与时间类型...通过以上总结,我们可以看到MySQL提供的日期和时间数据类型及其相关函数非常实用且强大,能够满足大多数应用的需求。掌握这些类型和函数的使用方法,对于开发人员来说是非常有益的。

    mysql函数大全,函数库

    在MySQL中,函数可以分为多种类型,如数学函数、字符串函数、日期和时间函数、控制流程函数、系统信息函数等。下面我们将逐一详细介绍这些类别: 1. **数学函数**: - ABS():返回一个数的绝对值。 - CEIL() 和 ...

    mysql常用日期时间/数值函数详解(必看)

    MySQL中的日期时间函数是数据库操作中的重要组成部分,它们在处理日期和时间数据时起到至关重要的作用。本篇文章将深入解析一些常用的MySQL日期时间函数以及数值函数。 1. **时间转化秒函数:time_to_sec** `time_...

    mysql5.6官网内置函数

    这些内置函数涵盖了数学、字符串、日期时间、比较、类型转换等多个领域,对于开发人员和数据库管理员来说是不可或缺的工具。下面将详细介绍一些重要的MySQL 5.6内置函数。 1. 数学函数: - ABS():返回一个数值的...

    mysql 函数大全

    本文将深入探讨MySQL中的几个关键函数,包括`DECODE`函数以及日期和字符串之间的转换方法。 一、`DECODE`函数 在MySQL中,`DECODE`函数是一个非常实用的条件判断工具,它允许你在一个表达式中进行简单的if-then-...

    MySQL常用函数.pdf

    MySQL支持多种数据类型,包括数值、日期和时间、字符串等。在数据库的使用中,函数是一个非常重要的概念,可以对数据进行加工、计算和格式化处理。MySQL提供了丰富的函数,包括数学函数、字符串函数、日期时间函数等...

    mysql内部函数

    MySQL内部函数是数据库管理系统中非常重要的组成部分,它们用于执行各种数据处理任务,包括但不限于计算、比较、转换和处理日期时间等。以下是对标题和描述中提及的一些关键知识点的详细解释: 1. **操作符和操作符...

    mysql时间转成数字-mysql日期转换和数字格式转换.pdf

    MySQL 中可以使用 STR_TO_DATE 函数将日期时间字符串转换为日期时间类型。例如,使用 `SELECT STR_TO_DATE('2009-06-05 12:00:00', '%Y-%m-%d %H:%i:%s')` 可以将字符串 '2009-06-05 12:00:00' 转换为日期时间类型。...

    MySql常用内置函数

    内容概要:本文档介绍了 MySQL 数据库中的内置函数及其使用方法,包括日期时间函数、字符串函数、数学函数及其他常用函数。详细解释了每种类型的函数及其常见应用场景,提供了具体的 SQL 语句实例。 适合人群:MySQL...

    MySQL常用类型转换函数总结(推荐)

    1、Concat函数。 连接字符串常用:concat函数。如sql查询条件的like查询, AND c.name like concat(#{param.name},’%’) 将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80’  2、Cast...

    mysql函数

    MySQL提供了丰富的内置函数,涵盖了数学、字符串、日期时间、条件判断等多个领域。以下将详细阐述MySQL函数的一些关键知识点。 1. 数学函数: - ABS():返回一个数的绝对值。 - CEIL() 和 FLOOR():分别返回大于...

Global site tag (gtag.js) - Google Analytics