数据库-Mysql之时间操作

一、Mysql中时间格式格式化方式

http://www.w3school.com.cn/sql/func_date_format.asp

CURRENT_TIMESTAMP:https://www.cnblogs.com/acm-bingzi/p/mysql-current-timestamp.html

在创建时间字段的时候

DEFAULT CURRENT_TIMESTAMP
表示当插入数据的时候,该字段默认值为当前时间

ON UPDATE CURRENT_TIMESTAMP
表示每次更新这条数据的时候,该字段都会更新成当前时间

这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护

CREATE TABLE `mytest` (
    `text` varchar(255) DEFAULT '' COMMENT '内容',
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

二、Mysql按时间区间查询

select * from chess_user u where DATE_FORMAT(u.register_time,'%Y-%m-%d %H:%i:%s')='2018-01-25 23:59:59';

select * from chess_user u where u.register_time BETWEEN '2018-01-25 00:00:00' and '2018-01-25 23:59:59';

 

三、MySql按天,日,小时,分钟分组数据

mysql按 时间 分组数据
如果按小时分组 则 格式调整为 “%Y-%m-%d %H:00:00”
按分钟分组 则 格式调整为 “%Y-%m-%d %H:%i:00”

具体 DATA_FORMAT 可参考下面链接
http://www.w3school.com.cn/sql/func_date_format.asp

SELECT 
COUNT(*), 
DATE_FORMAT(time ,'%Y-%m-%d %H:00:00') as time 
FROM 
tableName 
GROUP BY time 

 详细的sql参考:

https://blog.csdn.net/u010946448/article/details/83752984

posted @ 2019-11-27 15:09  Alive_2020  阅读(361)  评论(2编辑  收藏  举报