【问题标题】:PHP sql query Subtract two dateTime fields to a millisecond (d-m-Y H:i:s.ms)PHP sql查询减去两个dateTime字段到毫秒(d-m-Y H:i:s.ms)
【发布时间】:2017-08-22 19:22:36
【问题描述】:

我在 sql 查询中有两个字段需要减去一个 html 表。日期时间格式如下所示“19/08/2017 23:32:08.580” 我的带有内部连接的 sql 如下所示:

$query = "SELECT tblentries.categories,
    tblracedetails.actual_start_time,
    tblentries.age,
    tblentries.firstname,
    tblentries.surname,
    tblentries.distance,
    tblentries.raceid,
    tblracetime.finishtime,
    tblracetime.raceno,
    tblentries.racedate,
    tblentries.racename,
    TIMEDIFF('tblracetime.finishtime','tblracedetails.actual_start_time') AS racetimes
FROM tblentries
INNER JOIN tblracetime
    ON tblentries.raceid = tblracetime.racesid AND tblentries.raceno = tblracetime.raceno
INNER JOIN tblracedetails
    ON tblracedetails.id = tblentries.racesid AND tblracedetails.distance = tblentries.distance
";

数据存储在名为“actual_start_time”和“finishtime”的 varchar 字段中。最终减去的格式应该是 h:m:s:ms 并且减去的值必须称为 "racetimes" 。 上面显示的 sql 查询,除了 00:00:00 空的比赛时间列外 100% 工作。 任何建议将不胜感激?谢谢

【问题讨论】:

  • 你用的是什么版本的mysql?我不相信 mysql
  • 我使用 XAMPP - PHP 版本:7.0.9 和 MYSQLi
  • 这并不能告诉我您使用的是什么版本的 mySQL。运行SELECT VERSION()
  • 我搞定了

标签: php sql datetime mysqli


【解决方案1】:

我通过将 sql 部分更改为

使其工作

TIMEDIFF(tblracetime.finishtime,tblracedetails.actual_start_time) 次

将实际字段转换为毫秒的日期时间,使用

ALTER TABLE tblracedetails ADD actual_start_time datetime(3)

并将更改日期格式添加到诸如“yyyy-mm-dd h:m:s.ms”格式的字段中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多