Mysql date, time, timestamp日期时间相关
date: 格式:YYYY-MM-DD,时间范围:[0000-00-00, 9999-12-31],存储空间:3bytes
time: 格式:HH:MM:SS,时间范围:[00:00:00, 23:59:59]
timestamp:
1 4个字节存储,时间范围为:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'
2 以UTC格式(世界标准时间)保存
3 时间转化,存储时对当前的时区进行转换,检索时再转换回当前的时区
datetime:
1 8个字节存储,时间范围为:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'
2 实际格式存储
3 与时区无关
参考资料:
1. http://dev.mysql.com/doc/refman/5.6/en/datetime.html
2. http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
3. http://www.2cto.com/database/201308/233832.html
时间日期函数
1 获取当前日期/时间
SELECT CURRENT_DATE();
SELECT CURDATE();
SELECT UTC_DATE();
SELECT UTC_DATE;
SELECT CURRENT_TIME();
SELECT CURRENT_TIME;
SELECT UTC_TIME();
SELECT UTC_TIME;
SELECT CURRENT_TIMESTAMP();
SELECT CURRENT_TIMESTAMP;
SELECT UTC_TIMESTAMP();
SELECT UTC_TIMESTAMP;
SELECT LOCALTIMESTAMP();
SELECT LOCALTIMESTAMP;
SELECT LOCALTIME();
SELECT LOCALTIME;
SELECT NOW();
SELECT SYSDATE();
SYSDATE() 日期时间函数跟 NOW() 类似,不同之处在于:NOW() 在执行开始时值就得到了, SYSDATE() 在函数执行时动态得到值。
示例:
2 日期/时间函数:
DATE(expr)
DATEDIFF(expr1,expr2)
DATE_ADD(date,INTERVAL expr unit) -- unit: day, hour, minute, second, microsecond, week, month, quarter, year
unit 值
|
---|
MICROSECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR |
SECOND_MICROSECOND |
MINUTE_MICROSECOND |
MINUTE_SECOND |
HOUR_MICROSECOND |
HOUR_SECOND |
HOUR_MINUTE |
DAY_MICROSECOND |
DAY_SECOND |
DAY_MINUTE |
DAY_HOUR |
YEAR_MONTH |
DATE_FORMAT(date,format)
DATE_SUB(date,INTERVAL expr unit)
TIME(expr)
TIMEDIFF(expr1,expr2)
TIMESTAMP(expr)
TIMESTAMPADD(unit,interval,datetime_expr)
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
TIME_FORMAT(time,format)
YEAR(date)
YEARWEEK(date)
YEARWEEK(date,mode)
QUARTER(date)
MONTH(date)
MONTHNAME(date)
WEEK(date[,mode])
WEEKDAY(date)
WEEKOFYEAR(date)
DAY(date)
DAYNAME(date)
DAYOFMONTH(date)
DAYOFWEEK(date)
DAYOFWEEK(date)
DAYOFYEAR(date)
HOUR(time)
MINUTE(time)
SECOND(time)
MICROSECOND(expr)
LAST_DAY(date) -- 获取某月有多少天 SELECT DAY(LAST_DAY(NOW()));
ADDDATE(date,INTERVAL expr unit)
ADDDATE(expr,days)
ADDTIME(expr1,expr2)
3 日期/时间格式化
DATE_FORMAT(date,format)
示例:SELECT DATE_FORMAT('2018-01-02 03:04:05','%Y-%m-%d %H:%i:%S'); -- 对应Java yyyy-MM-dd HH:mm:ss
格式
|
描述
|
---|---|
%a | 缩写星期名 |
%b | 缩写月名 |
%c | 月,数值 |
%D | 带有英文前缀的月中的天 |
%d | 月的天,数值(00-31) |
%e | 月的天,数值(0-31) |
%f | 微秒 |
%H | 小时 (00-23) |
%h | 小时 (01-12) |
%I | 小时 (01-12) |
%i | 分钟,数值(00-59) |
%j | 年的天 (001-366) |
%k | 小时 (0-23) |
%l | 小时 (1-12) |
%M | 月名 |
%m | 月,数值(00-12) |
%p | AM 或 PM |
%r | 时间,12-小时(hh:mm:ss AM 或 PM) |
%S | 秒(00-59) |
%s | 秒(00-59) |
%T | 时间, 24-小时 (hh:mm:ss) |
%U | 周 (00-53) 星期日是一周的第一天 |
%u | 周 (00-53) 星期一是一周的第一天 |
%V | 周 (01-53) 星期日是一周的第一天,与 %X 使用 |
%v | 周 (01-53) 星期一是一周的第一天,与 %x 使用 |
%W | 星期名 |
%w | 周的天 (0=星期日, 6=星期六) |
%X | 年,其中的星期日是周的第一天,4 位,与 %V 使用 |
%x | 年,其中的星期一是周的第一天,4 位,与 %v 使用 |
%Y | 年,4 位 |
select get_format(date,'usa') ; -- '%m.%d.%Y'
select get_format(date,'jis') ; -- '%Y-%m-%d'
select get_format(date,'iso') ; -- '%Y-%m-%d'
select get_format(date,'eur') ; -- '%d.%m.%Y'
select get_format(date,'internal') ; -- '%Y%m%d'
select get_format(datetime,'usa') ; -- '%Y-%m-%d %H.%i.%s'
select get_format(datetime,'jis') ; -- '%Y-%m-%d %H:%i:%s'
select get_format(datetime,'iso') ; -- '%Y-%m-%d %H:%i:%s'
select get_format(datetime,'eur') ; -- '%Y-%m-%d %H.%i.%s'
select get_format(datetime,'internal') ; -- '%Y%m%d%H%i%s'
select get_format(time,'usa') ; -- '%h:%i:%s %p'
select get_format(time,'jis') ; -- '%H:%i:%s'
select get_format(time,'iso') ; -- '%H:%i:%s'
select get_format(time,'eur') ; -- '%H.%i.%s'
select get_format(time,'internal') ; -- '%H%i%s'
参考资料:
http://www.w3school.com.cn/sql/func_date_add.asp
http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html
Mysql date, time, timestamp日期时间相关的更多相关文章
- jackson/fastjson、mybatis、mysql date/datatime/timestamp、java Date/Timestamp关系详解
jackson/fastjson序列化/反序列化: 默认情况下,jackson/fastjson将java Date/Timestamp类型序列化为时间戳,也就是1970年1月1日0点以来的毫秒数.如 ...
- mysql建库DATETIME、DATE 和 TIMESTAMP区别
http://blog.sina.com.cn/s/blog_5f7b8c2c0100tf6t.html DATETIME.DATE 和 TIMESTAMP 类型是相似的.本篇描述了它们的特性 ...
- Mysql 实战关于date,datetime,timestamp类型使用
最近在做一个项目 项目中 不同的小伙伴同时在不同的业务模块中用到了date,datetime,timestamp这三个类型 特别是datetime,timestamp这两个 如果不能理解到位 其实很 ...
- jdbc 日期时间相关的类型
jdbc 日期时间相关的类型 1.sql.Date sql包中的日期类Date是util包中Date类的子类,实际上也是util.Date类的子集.它只处理年月日,而忽略小时和分秒,用以代表SQL的D ...
- 转 数据库中的 date datetime timestamp的区别
转 数据库中的 date datetime timestamp的区别 DATETIME, DATE和TIMESTAMP类型是相关的.本文描述他们的特征,他们是如何类似的而又不同的. DATETIME类 ...
- mysql 中时间和日期函数应用
一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...
- MySQL 时间戳(Timestamp)函数
1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp() mysql> select current_timestamp, curren ...
- MySQL的时间、日期型
MySQL的时间.日期型 MySQL中表示时间值的有DATE.时间类型为DATETIME.DATE.TIMESTAMP.TIME和YEAR.每个时间类型有一个有效值范围和一个"零" ...
- Mysql date,datetime的区别以及相互转换
参考:https://blog.csdn.net/a3025056/article/details/62885104/ 在数据库中一直有这三个时间类型有点搞不太清楚. 今天就来说一下之间的区别,其实是 ...
随机推荐
- JAVA动态代理的全面深层理解
Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过 ...
- Sublime2 + SASS + Koala 测试
Sublime SASS语法高亮插件下载地址:https://github.com/kuroir/SCSS.tmbundle/zipball/SublimeText2 koala_2.0.4_setu ...
- python sort() sorted() 与argsort()函数的区别
1.python的内建排序函数有 sort.sorted两个 sort函数只定义在list中,sorted函数对于所有的可迭代序列都可以定义. for example: ls = list([5, 2 ...
- 如何下载中文语言包让Eclipse汉化?
Eclipse软件是JAVA开发必备的软件,对于英语不好的人而言面对英文代码还好,但是软件也是英语的那就头疼了,怎么解决?可以去官网下载中文语言包解压到Eclipse安装目录就可以汉化了. 工具/ ...
- Spring_总结_04_高级配置(五)_运行时注入值
一.前言 本文承接上一节:Spring_总结_04_高级配置(四)_bean的作用域 当讨论依赖注入的时候,我们通常所讨论的是将一个bean引用注入到另一个bean的属性或者构造参数中.它通常指的是将 ...
- 【SQL查询】查询的列起别名_AS
方法一: 以as关键字指定字段别名,as在select的字段和别名之间. 方法二: 直接在字段名称后面加上别名,中间以空格隔开.
- 我所理解的Mongodb 的优势
更高的写负载 默认情况下,对比事务安全,MongoDB更关注高的插入速度.如果你需要加载大量低价值的业务数据,比如日志收集,那么MongoDB将很适合你的用例,但是必须避免在要求高事务安全的情景下使用 ...
- 安装Aptana时检测不到已经安装的Nodejs
1.环境前提 已经安装了Git和Nodejs,在安装Aptana时任然提示如下错误: Failed to correctly acquire installer_nodejs_windows.msi ...
- PageRank算法原理及实现
PageRank算法原理介绍 PageRank算法是google的网页排序算法,在<The Top Ten Algorithms in Data Mining>一书中第6章有介绍.大致原理 ...
- /etc/ntp.conf
摘录一: System:ubuntu10.04 配置文件路径:/etc/ntp.conf 配置格式:关键字(如server) 参数(如prefer) 以换行为结束,所以一个配置不能占多行. ...