ISO 8601 格式存储日期和时间值 。但是如果你想以另一种方式存储日期和时间值 , 例如 MM-DD-YYYY 格式 , 怎么办?首先 , 不要尝试这样做 。MySQL 以 8601 格式存储日期和时间 , 就是这样 。不要尝试更改它 。但是 , 这并不意味着你必须在将数据输入到数据库之前将数据转换为特定的格式 , 或者你不能以任何你想要的格式展示数据 。
如果你想要将非 ISO 的格式的日期输入到表中 , 你可以使用 STR_TO_DATE() 函数 。第一个参数是你想要存储在数据库中的日期的字符串值 。第二个参数是格式化字符串 , 它让 MySQL 知道日期的组织方式 。让我们看一个简单的例子 , 然后我将更深入地研究这个看起来很奇怪的格式化字符串是什么 。
mysql> insert into test (the_date) values (str_to_date('January 13, 2023','%M %d, %Y'));Query OK, 1 row affected (0.00 sec)你将格式化字符串放在引号中 , 并在每个特殊字符前加上百分号 。上面代码中的格式序列告诉 MySQL 我的日期由一个完整的月份名称 %M , 后跟一个两位数的日期%d , 然后是一个逗号 , 最后由一个四位数的年份 %Y 组成 。请注意 , 大写很重要 。
一些其他常用的格式化字符串字符是:
%b缩写月份的名称(例如:Jan)%c数字月份(例如: 1)%W星期名称(例如: `Saturday)%a星期名称的缩写(例如:Sat)%T24 小时制的时间(例如:22:01:22)%r带 AM/PM 的 12 小时制的时间(例如:10:01:22 PM)%y两位数的年份(例如: 23)
%y , 年份范围是 1970 到 2069 。因此 , 从 70 到 99 的数字被假定为 20 世纪 , 而从 00 到 69 的数字被假定为 21 世纪 。如果你有一个日期存储在你的数据库中 , 你想用不同的格式显示它 , 你可以使用这个
DATE_FORMAT() 函数:mysql> SELECT DATE_FORMAT(the_date, '%W, %b. %d, %y') FROM test;+-----------------------------------------+| DATE_FORMAT(the_date, '%W, %b. %d, %y') |+-----------------------------------------+| Tuesday, Nov. 02, 21|| Wednesday, Jan. 05, 22|| Tuesday, May. 03, 22|| Friday, Jan. 13, 23|+-----------------------------------------+4 rows in set (0.00 sec)总结本教程应该为你提供了一个关于 MySQL 中的日期和时间值的有用的概述 。我希望本文教会了您一些新知识 , 使您能够更好地控制和理解 MySQL 数据库如何处理时间值 。推荐阅读
- 取代C++!微软正在改用Rust语言重写Win11内核
- Spring/SpringBoot中的声明式事务和编程式事务源码、区别、优缺点、适用场景、实战
- 软件架构设计之构件与中间件技术
- 从Java源码来看Native命令执行方法
- 使用 Linux 命令从图像中删除背景
- 如何处理生产环境中的数据和机器学习偏误?
- 黄晓明|《外星人在娱乐圈》段影帝的外星女友攻略路
- 支付宝可以在“出行付款码前”进行密码验证吗?
- 毕滢|洪欣和张丹峰被曝没离婚,毕滢从中劝和,曝光和洪欣电话聊天内容
- 女人在月经期间,欲望真的很强吗?
