mysql实用系列:日期格式化

在MySQL中,你可以使用DATE_FORMAT()函数来格式化日期。DATE_FORMAT() 函数通常用于格式化 DATETIME 或 TIMESTAMP类型的字段。这个函数允许你按照指定的格式来显示日期和时间。下面是一些常见的日期格式化的例子:

  1. 显示年-月-日:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');
  2. 显示月/日/年:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%m/%d/%Y');
  3. 显示完整的日期和时间:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
  4. 显示小时和分钟:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%H:%i');
  5. 显示星期几:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%W'); -- 星期几(Sunday=0, ..., Saturday=6)
  6. 显示月份的名称:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%M'); -- 月份的名称(January, ..., December)
  7. 显示月份的缩写:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%b'); -- 月份的缩写(Jan, ..., Dec)
  8. 显示年份的最后两位数字:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%y');
  9. 显示AM或PM:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%p');
  10. 显示秒:

    sql 复制代码
    SELECT DATE_FORMAT(NOW(), '%s');

这些是DATE_FORMAT()函数的一些基本用法。你可以根据需要组合不同的格式化选项来创建自定义的日期格式。

如果你尝试对一个非日期时间类型的字段使用 DATE_FORMAT(),比如 INT 或 VARCHAR,MySQL 会返回一个错误,因为它无法将这些类型的数据解释为日期或时间。

如果你有一个非日期时间类型的字段,但你知道它包含的是日期或时间信息,你可能需要先将其转换为 DATETIME 类型,然后再使用 DATE_FORMAT() 函数。例如,如果一个 VARCHAR 字段包含日期时间字符串,你可以使用 STR_TO_DATE() 函数将其转换:

sql 复制代码
SELECT DATE_FORMAT(STR_TO_DATE(your_varchar_column, '%Y-%m-%d %H:%i:%s'), '%Y-%m-%d %H:%i:%s');

这里,STR_TO_DATE() 函数将字符串转换为 DATETIME 类型,然后 DATE_FORMAT() 函数将其格式化为所需的格式。

相关推荐
不穿格子的程序员22 分钟前
Redis篇6——Redis深度剖析:从单机到集群,Redis高可用进化史
数据库·redis·集群·主从·高可用·哨兵
阿坤带你走近大数据36 分钟前
什么是元数据管理?(附具体实施方案供参考)
数据库·金融
俊男无期39 分钟前
超效率工作法
java·前端·数据库
2301_8234380239 分钟前
【无标题】解析《采用非对称自玩实现强健多机器人群集的深度强化学习方法》
数据库·人工智能·算法
中国胖子风清扬43 分钟前
SpringAI和 Langchain4j等 AI 框架之间的差异和开发经验
java·数据库·人工智能·spring boot·spring cloud·ai·langchain
计算机学姐1 小时前
基于php的摄影网站系统
开发语言·vue.js·后端·mysql·php·phpstorm
Elastic 中国社区官方博客1 小时前
Elasticsearch:你是说,用于混合搜索(hybrid search)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
计算机学姐1 小时前
基于php的旅游景点预约门票管理系统
开发语言·后端·mysql·php·phpstorm
czlczl200209251 小时前
高并发下的 Token 存储策略: Redis 与 MySQL 的一致性
数据库·redis·mysql
代码栈上的思考1 小时前
MyBatis:注解方式实现数据库 CRUD 全操作
java·开发语言·mybatis