如何在mysql中格式化日期_mysql日期格式化函数

2次阅读

mysql中格式化日期主要用date_format()函数,按指定模板将日期转为字符串,需注意时区、数据类型NULL处理,并可配合YEAR()、DATE()等函数使用。

如何在mysql中格式化日期_mysql日期格式化函数

MySQL 中格式化日期主要靠 DATE_FORMAT() 函数,它能把日期时间值按指定模式转成可读的字符串。关键不是记全所有格式符,而是掌握常用组合和注意事项。

DATE_FORMAT() 基本用法

语法:DATE_FORMAT(date, format),第一个参数是日期类型(如 DATE、DATETIME、timestamp),第二个是格式化模板字符串。

  • 模板中用 % 开头的占位符表示具体部分,比如 %Y 是 4 位年份,%y 是 2 位年份
  • 常见格式符:%m(01–12 月),%c(1–12 月,不补零),%d(01–31 日),%e(1–31 日,不补零)
  • 星期和月份名可用 %W(Monday)、%w(0=Sunday)、%M(January)、%b(Jan)

常用格式化示例

假设字段 created_at 值为 2024-07-15 14:23:56

如何在mysql中格式化日期_mysql日期格式化函数

Hugging Face

Hugging Face AI开源社区

如何在mysql中格式化日期_mysql日期格式化函数 270

查看详情 如何在mysql中格式化日期_mysql日期格式化函数

  • DATE_FORMAT(created_at, ‘%Y-%m-%d’)2024-07-15
  • DATE_FORMAT(created_at, ‘%Y年%m月%d日 %H:%i’)2024年07月15日 14:23
  • DATE_FORMAT(created_at, ‘%b %e, %Y’)Jul 15, 2024
  • DATE_FORMAT(created_at, ‘%W, %M %e, %Y’)Monday, July 15, 2024

注意时区与数据类型

DATE_FORMAT() 不改变原始值,只影响显示结果;它对 NULL 返回 NULL。

  • 如果字段是字符串(如 ‘20240715’),需先用 STR_TO_DATE() 转为日期再格式化,例如:
    DATE_FORMAT(STR_TO_DATE(‘20240715’, ‘%Y%m%d’), ‘%Y/%m/%d’)
  • 查询时若涉及时区,确保系统或会话时区设置正确(select @@time_zone 可查看),否则 NOW() 或 CURDATE() 可能与预期不符
  • 对 DATETIME 字段格式化时,%H(24 小时制)比 %h(12 小时制)更常用,避免混淆

其他相关函数补充

除 DATE_FORMAT 外,几个辅助函数也常一起使用:

  • YEAR()/MONTH()/DAY():直接提取数字部分,适合做条件筛选或分组
  • DATE():只取日期部分(去掉时间),等价于 DATE_FORMAT(dt, ‘%Y-%m-%d’)
  • TIME():只取时间部分
  • FROM_unixTIME():把 Unix 时间戳转为可读日期,支持格式化,如 FROM_UNIXTIME(1721024636, ‘%Y-%m-%d’)

text=ZqhQzanResources