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

相关推荐
杨云龙UP24 分钟前
SQL Server 备份异地同步 + 清理脚本
运维·服务器·数据库·sql·mysql·sqlserver
O***Z61631 分钟前
Redis——Windows安装
数据库·windows·redis
0***h94235 分钟前
MySQL 启动失败 (code=exited, status=1FAILURE) 异常解决方案
数据库·mysql
IguoChan1 小时前
D2L(1) — 线性回归
后端
闲人编程1 小时前
Django测试框架深度使用:Factory Boy与Fixture对比
数据库·python·django·sqlite·钩子·fixture·codecapsule
8***29311 小时前
Go基础之环境搭建
开发语言·后端·golang
梅花141 小时前
基于Django房屋租赁系统
后端·python·django·bootstrap·django项目·django网站
以明志、1 小时前
并行与并发
前端·数据库·c#
提笔了无痕1 小时前
go web开发表单知识及表单处理详解
前端·后端·golang·web