2

如何在 MySQL 视图中转换时间戳?

我有一个 MySQL 视图,用于在 2 个不同的软件工具之间进行数据交换。原始表是一个 unix 时间戳,如int(11). 另一个软件需要一个 DATETIME。

我有这样的视图:

CREATE VIEW `myView` AS 
select 
date_format(from_unixtime(`myUnixTimestamp`),_utf8'%d/%m/%Y %H:%i:%s') 
AS `Date-Entered`
from ...

这个 VIEW 语句创建了一个 varchar(24) - 总比没有好,因为它可以转换 - 但转换会产生一些问题。

有什么方法可以在视图中创建 DATETIME 字段而不是 VARCHAR?

4

3 回答 3

3

您可以将值转换为datetime

-- print a UNIX timestamp (as returned by NOW()) as DATETIME
SELECT CAST( DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) AS DATETIME );
于 2012-10-26T09:37:10.660 回答
2

感谢您的回答,我尝试了一些组合,并且这个组合有效(如此简单,可惜......):

CREATE VIEW `myView` AS 
select 
from_unixtime(`myUnixTimestamp`)
AS `Date-Entered`
from ...

查看结构显示:日期输入,类型:日期时间

于 2012-10-26T10:25:30.783 回答
-1

尝试

CREATE VIEW `myView` AS 
select 
FROM_UNIXTIME([unix timestamp],'%d/%m/%Y %H:%i:%s') 
AS `Date-Entered`
from ...
于 2012-10-26T09:40:33.200 回答