将 11/16/2002 12:00:00 PM 格式化为 MySQL 中的日期时间戳

Posted

技术标签:

【中文标题】将 11/16/2002 12:00:00 PM 格式化为 MySQL 中的日期时间戳【英文标题】:Formatting 11/16/2002 12:00:00 PM to date time stamp in MySQL 【发布时间】:2012-04-12 16:56:08 【问题描述】:

如何将这种格式“11/16/2002 12:00:00 PM”更改为 mysql 无需使用 php 就能理解的格式?

我尝试了SELECT CONVERT('11/03/2002 02:45:33 PM', DATETIME) AS datetime;,但我得到了 NULL

【问题讨论】:

请编辑问题以包括您的尝试和您收到的任何错误消息。谢谢 @bernie 我添加了代码但不起作用。 @AmitBhargava ,添加了我尝试过的转换 @Brad SELECT CONVERT('2002-03-11 14:45:33', DATETIME) 日期时间有效。你能稍微修改一下你的日期字符串吗? @Amit Bhargava:这是关于 ;-) 如何重新格式化它的问题 【参考方案1】:

您可以使用STR_TO_DATE 函数-

SELECT STR_TO_DATE('11/03/2002 02:45:33 PM', '%d/%m/%Y %h:%i:%s %p') AS dt;
+---------------------+
| dt                  |
+---------------------+
| 2002-03-11 14:45:33 |
+---------------------+

SELECT STR_TO_DATE('11/03/2002 02:45:33 PM', '%d/%m/%Y %r') AS dt;
+---------------------+
| dt                  |
+---------------------+
| 2002-03-11 14:45:33 |
+---------------------+

【讨论】:

以上是关于将 11/16/2002 12:00:00 PM 格式化为 MySQL 中的日期时间戳的主要内容,如果未能解决你的问题,请参考以下文章

SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。”应该如何解决?

解决:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间提示问题

SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间---解决办法

(转)SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间

时间转换

SQL 如何从日期中提取时间到 HH:MI:SS PM/AM?