将DECIMAL(16.4)转换为DATETIME MySQL



如果可能的话,当从数据库中选择时,我需要将在数据库中存储为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中,CONVERT看起来有3个参数,但在MySQL中,只有2个。此外,MySQL中的CONVERT要么工作方式不同,要么不是正确的函数,而且答案是错误的。

取决于所需的精度

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

相关内容

  • 没有找到相关文章

最新更新