mysql | 常见日期函数使用及格式转换方法

前言

mysql 中常见的日期类型包括有:date、time、year、datetime 及 timestamp。

它们各自的定义和数据格式如下表:

|-----------|--------|---------------------|----------|
| 类型 | 大小 | 格式 | 用途 |
| date | 3字节 | YYYY-MM-DD | 日期值 |
| time | 3字节 | HH:MM:SS | 时间值 |
| year | 1字节 | YYYY | 年份 |
| datetime | 8字节 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
| timestamp | 4字节 | YYYYMMDDHHMMSS | 时间戳 |

注:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

一、mysql 常见日期生成函数

(一)获取当前日期

方法:current_date() 或 curdate()

返回值格式为:YYYY-MM-SS

方法1:select current_date()

方法2:select curdate()

(二)获取当前时间

方法:current_time() 或 curtime()

返回值格式为:HH:MM:SS

方法1:select current_time()

方法2:select curtime()

(三)获取当前日期和时间

方法:current_timestamp() 或 now()

返回值格式为:YYYY-MM-SS HH:MM:SS

方法1:select current_timestamp()

方法2:select now()

二、常见时间格式转换函数

(一)convert()

语法:convert(需转换的日期值,date)

该函数可以将 datetime 日期类型转换成 date 日期类型,即把"YYYY-MM-DD HH:MM:SS"转换为"YYYY-MM-DD"

实例:select CONVERT('2021-10-21 07:15:23',date)

(二 )DATE_FORMAT()

DATE_FORMAT():用来以各种格式显示日期或者时间数据。

语法:DATE_FROMAT(date,format)

参数释义:

date------合法的日期。

format------规定日期或者时间的输出格式。

**实例1:**将 '2021-1-2' 转换为标准格式 '2021-01-02 00:00:00'

**命令:**select DATE_FORMAT('2021-1-2','%Y-%m-%d %H:%i:%S')

可以使用 format 的格式组合有很多,常使用的如下:

|--------|--------------|
| 格式 | 描述 |
| %Y | 年,4 位,如:2021 |
| %m | 月,数值(00-12) |
| %d | 天,数值(00-31) |
| %H | 小时(00-23) |
| %i | 分钟,数值(00-59) |
| %S | 秒(00-59) |

特别注意:使用时,需注意上表【格式】这一列中的大小写问题。

**实例2:**只保留 '2021-01-02 00:00:00' 中的年份和月份'2021-01'

**命令:**select DATE_FORMAT('2021-01-21 07:15:23','%Y-%m')

-end-

相关推荐
吠品14 小时前
PG_GBK 与 PG_UTF8 编码冲突:一次数据导入踩坑复盘
数据库
lld95102714 小时前
我做了一个 AI Agent Skill 云:用 MCP 在 Claude Code、Codex、OpenCode 之间同步技能
数据库·人工智能
辉灰笔记15 小时前
MySQL8 意外关机/误移data目录导致服务启动失败 PID报错/权限报错 修复文档
linux·数据库·mysql·centos
麦聪聊数据16 小时前
电商大促数据库管控(下):数据需求小时级交付与全链路安全管控
数据库
喜欢的名字被抢了16 小时前
MySQL核心机制:事务、锁与存储引擎
数据库·sql·mysql·教程
JosieBook16 小时前
【数据库】时序数据库通过国测认证,TimechoAI开放体验:工业数据的“存”与“智”如何协同?
数据库·时序数据库
卓怡学长17 小时前
w263基于springboot + vue 健康饮食管理系统
java·数据库·vue.js·spring boot·spring·intellij-idea
万亿少女的梦16818 小时前
基于Spring Boot、Vue.js和MySQL的超市管理系统设计与实现
java·vue.js·spring boot·mysql·管理系统
weixin_3077791318 小时前
Linux下Docker Compose里运行的MySQL数据库故障诊断Shell脚本
linux·运维·mysql·docker·自动化
阿演19 小时前
DataDjinn v0.2.11:SQL 编辑、AI 协作和表格操作继续打磨
数据库·人工智能·sql