如果可能的话,我需要将数据库中存储为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工作方式不同,或者功能不正确,答案是错误的。
答案 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