各位用户为了找寻关于MySQL时间格式化的资料费劲了很多周折。这里教程网为您整理了关于MySQL时间格式化的相关资料,仅供查阅,以下为您介绍关于MySQL时间格式化的详细内容

 简介

在处理数据的时候,经常会在MySQL里面格式化时间进行统计。

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

用法

select DATE_FORMAT(date,format) from table; 

date 参数是合法的日期。

format 规定日期/时间的输出格式,可以有下面的格式:

%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 位  %y  年,2 位 

例子

select DATE_FORMAT(now(),"%Y-%m-%d %H:%i:%S") as now; 

输出

mysql> select DATE_FORMAT(now(),"%Y-%m-%d %H:%i:%S") as now;    +---------------------+  | now                 |  +---------------------+  | 2020-11-02 22:06:40 |  +---------------------+  1 row in set (0.00 sec) 

按照日期统计

select create_day , count(1) AS count from (select DATE_FORMAT(CREATE_TIME,"%Y-%m-%d")  AS create_day FROM TABLES) u  group by create_day; 

输出

mysql> select create_day , count(1) AS count from (select DATE_FORMAT(CREATE_TIME,"%Y-%m-%d")  AS create_day FROM TABLES) u  group by create_day;  +------------+-------+  | create_day | count |  +------------+-------+  | 2020-10-26 |   323 |  +------------+-------+  1 row in set (0.00 sec) 

原文链接:https://www.toutiao.com/i6890529990786417165/