前言
mysql
可以使用date_format
获取日期字段中的年月
date_format时间函数
1、 建立一个数据表
set names utf8mb4; set foreign_key_checks = 0; -- ---------------------------- -- table structure for userloginlog -- ---------------------------- drop table if exists `userloginlog`; create table `userloginlog` ( `id` bigint(20) not null auto_increment, `userid` bigint(20) null default null, `isdelete` int(11) null default 0, `createtime` timestamp not null default current_timestamp, `updatetime` timestamp not null default current_timestamp primary key (`id`) using btree, index `idx_userid_appid`(`userid` asc, `appid` asc) using btree ) engine = innodb auto_increment = 407701224 character set = utf8mb4 collate = utf8mb4_general_ci row_format = dynamic; set foreign_key_checks = 1;
可以操作createtime
select count(*) from userloginlog u where date_format(u.createtime,'%y') = '2024'
取出createtime
中等于2024
的年数据
2、 格式化时间
select date_format(u.createtime,'%y-%m') as month from userloginlog u
3、 统计月份数据
select date_format(u.createtime,'%m') as month, count(*) from userloginlog u where date_format(u.createtime,'%y') = '2024' group by month
4、 精确到天
select date_format(u.createtime,'%y-%m-%d') from userloginlog u
格式 | 描述 |
---|---|
%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 位 |
总结
date_format() 函数用于以不同的格式显示日期/时间数据。
到此这篇关于mysql中date_format时间函数的使用小结的文章就介绍到这了,更多相关mysql date_format内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论