MySQL中的DATE_FORMAT时间函数

前言

MySQL可以使用DATE_FORMAT获取日期字段中的年月

DATE_FORMAT时间函数

1、 建立一个数据表

sql 复制代码
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

csharp 复制代码
select count(*) from userloginlog u where DATE_FORMAT(u.createTime,'%Y') = '2024'

取出createTime中等于2024的年数据

2、 格式化时间

sql 复制代码
SELECT DATE_FORMAT(u.createTime,'%Y-%m') as month from userloginlog u

3、 统计月份数据

sql 复制代码
 SELECT DATE_FORMAT(u.createTime,'%m') as month, count(*) from userloginlog u where DATE_FORMAT(u.createTime,'%Y') = '2024'

GROUP BY month

4、 精确到天

sql 复制代码
  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() 函数用于以不同的格式显示日期/时间数据。

相关推荐
y = xⁿ16 小时前
Redis八股学习日记:布隆过滤器
数据库·redis·学习
qq_2837200516 小时前
Python3 模块精讲:pymysql(第三方)- 连接 MySQL
mysql·adb·pymysql
李日灐16 小时前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile
悟纤16 小时前
Seedance 2.0 API 文生视频 |支持100并发 | [灵龙AI API]
数据库·文生视频·seedance 2.0
蝎子莱莱爱打怪16 小时前
小孩儿才做选择!Hermes 和OpenClaw 我都要!
人工智能·后端·github
直奔標竿16 小时前
SpringAI + RAG + MCP + Agent 零基础全栈实战(完结篇)| 27课完整汇总,Java开发者AI转型必看
java·开发语言·人工智能·spring boot·后端·spring
czlczl2002092517 小时前
MySQL 性能优化:前缀索引(Prefix Index)深度解析
数据库·mysql·性能优化
枫叶林FYL17 小时前
项目八 云资源成本优化与治理平台
后端·python·自然语言处理·flask
逍遥德17 小时前
SpringBoot数据库连接池HikariCP,Druid,Tomcat JDBC,DBCP2,c3p0配置使用
数据库·spring boot·tomcat
SamDeepThinking17 小时前
第1篇-开篇词:几亿用户规模下,我们是怎么做C端高并发商品系统的
java·后端·架构