2012-10-26 37 views
2

如何在MySQL视图中转换时间戳?MySQL视图:将unix时间戳转换为datetime

我有一个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 ... 

这一观点语句创建一个varchar(24) - 这是比没有好,因为它可以转换 - 但转换使得一些问题。

是否有任何方式创建一个DATETIME字段,而不是VARCHAR与视图?

回答

3

您可以将值转换为datetime

-- print a UNIX timestamp (as returned by NOW()) as DATETIME 
SELECT CAST(DATE_FORMAT(NOW() , '%Y-%m-%d') AS DATETIME); 
-1

尝试

CREATE VIEW `myView` AS 
select 
FROM_UNIXTIME([unix timestamp],'%d/%m/%Y %H:%i:%s') 
AS `Date-Entered` 
from ... 
2

感谢您的答案,我尝试了一些组合,而这一次的工作(那么容易,它的一个耻辱.. 。):

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

视图结构显示:日期输入的,类型:日期时间