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

相关推荐
你的人类朋友19 分钟前
【Node.js】什么是Node.js
javascript·后端·node.js
weixin_307779131 小时前
VS Code配置MinGW64编译SQLite3库
开发语言·数据库·c++·vscode·算法
David爱编程2 小时前
面试必问!线程生命周期与状态转换详解
java·后端
SelectDB2 小时前
Apache Doris 4.0 AI 能力揭秘(一):AI 函数之 LLM 函数介绍
数据库·人工智能·数据分析
我是哈哈hh2 小时前
【MySQL】在UBuntu环境安装以及免密码登录入门
linux·数据库·mysql·ubuntu
LKAI.2 小时前
传统方式部署(RuoYi-Cloud)微服务
java·linux·前端·后端·微服务·node.js·ruoyi
Victor3563 小时前
Redis(11)如何通过命令行操作Redis?
后端
Victor3563 小时前
Redis(10)如何连接到Redis服务器?
后端
喪彪3 小时前
MySQL新手教学
数据库·mysql·adb