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

Sol*_*son 1 php mysql datetime

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

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

$time = function_exists('microtime') ? microtime(true) : time();
$submit_time = number_format($time, 4, '.', '');
Run Code Online (Sandbox Code Playgroud)

然后,$submit_time用列进入数据库submit_time

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

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

SELECT CONVERT(submit_time, DATETIME) AS datetime

任何帮助都非常感谢ofcourse!

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

Cra*_*row 5

取决于所需的精度

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