将 DECIMAL(16,4) 转换为 DATETIME MySQL
Convert DECIMAL(16,4) into DATETIME MySQL
如果可能,我需要将在数据库中存储为 DECIMAL(16, 4) 的时间戳转换为 select 中的 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
如果可能,我需要将在数据库中存储为 DECIMAL(16, 4) 的时间戳转换为 select 中的 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