将DECIMAL(16,4)转换为DATETIME MySQL

时间:2016-07-23 05:18:20

标签: php mysql datetime

如果可能的话,我需要将数据库中存储为DECIMAL(16,4)的时间戳转换为DATETIME,如果可能的话,将其从数据库中拉出来。

它存储在数据库中的方式如下:

$time = function_exists('microtime') ? microtime(true) : time();
$submit_time = number_format($time, 4, '.', '');

比,$submit_time进入数据库submit_time

从数据库中提取时,是否可以提取此值并将CONVERT值提取为DATETIME?我想将其转换为DATETIME的原因是因为在搜索使用分页输出的日期时会更容易管理。

一直在查看MySQL CONVERT函数,并尝试了以下内容,但它输出了空内容:

SELECT CONVERT(submit_time, DATETIME) AS datetime

任何帮助都非常感谢当然!

请注意,我已经看到了标记为此问题的答案,但这对我的情况没有帮助。首先,所有答案,保存1,返回PHP代码转换它,其次SQL中CONVERT的假设答案在MySQL中不起作用的原因有很多,1就是在SQL中,看起来有3个参数用于CONVERT ,但在MySQL中,只有2.此外,MySQL中的CONVERT工作方式不同,或者功能不正确,答案是错误的。

1 个答案:

答案 0 :(得分:3)

取决于所需的准确度

select from_unixtime(round(submit_time)) as datetime -- 2012-04-10 09:00:26

select from_unixtime(submit_time) as datetime -- 2012-04-10 09:00:25.5900