1

我将此作为查询的选择部分:

SELECT cast(cast(exp_channel_titles.edit_date as char(14)) as datetime) AS Edit_Date

以 20130501092128 格式从数据库获取数据并以 2013-05-01 09:21:28 格式返回

我只能假设它是某种魔法,因为我不完全理解它是如何工作的。

但是,我需要将它吐出的日期格式更改为这种格式:%d/%m/%Y %k:%i:%s

老实说,我不知道如何在该查询中执行此操作,我尝试将其作为参数添加到 datetime (这甚至是 mysql 函数吗?!?)但没有快乐和许多其他我不会去的糟糕尝试进入。

如果有人可以提供帮助,我将不胜感激!

4

2 回答 2

4

MySql 会自动将 20130501092128 转换为日期和时间字段,即使它是 VARCHAR 或 INT,您也可以使用:

SELECT DATE_FORMAT(exp_channel_titles.edit_date, '%d/%m/%Y %k:%i:%s')

在此处查看小提琴。

于 2013-05-03T14:54:16.040 回答
1

DATE_FORMAT()您可以使用MySQL 中的函数更改输出格式。这是有关它的文档帖子。

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

您可以将输出格式更改为您想要的任何格式,但是如果您将该数据接收到应用程序中,请对其进行修改并将该数据返回到服务器(例如编辑一行)。请记住将其重新格式化为 MySQL 的有效日期。

如果您不知道该怎么做,只需在查询中执行此操作:

SELECT DATE_FORMAT(cast(cast(exp_channel_titles.edit_date as char(14))
 as datetime), '%e/%m/%Y %k:%i:%s') AS Edit_Date
于 2013-05-03T14:52:41.240 回答