这是一个SQL查询,用于计算DateTimeSolved和DateTimeCreated之间的时间差,我需要以小时为单位来计算结果。
$query = "SELECT problem.id, problem.DateTimeCreated, problem.DateTimeSolved TIMEDIFF(HOUR, problem.DateTimeSolved, problem.DateTimeCreated)
From problem";我在查询中添加了where子句:
$query =“从问题中选择problem.status、problem.id、problem.DateTimeSolved、problem.DateTimeCreated、TIMESTAMPDIFF(DAY,problem.DateTimeSolved,problem.DateTimeCreated),其中problem.status = '5‘组按月(problem.DateTimeCreated)=月份(CURDATE())”;这是它工作的查询的当前格式,但输出为负值。
当我试图运行以下语句时,仍然会收到这个错误:
SQL语法出现错误; 检查与您的MySQL服务器版本对应的手册,以获得正确的语法。
发布于 2016-01-27 17:13:44
您忽略了一个逗号,而timediff函数只需要两个值,要格式化它(仅显示小时),请使用以下查询:
SELECT problem.id, problem.DateTimeCreated, problem.DateTimeSolved, TIME_FORMAT(TIMEDIFF(problem.DateTimeSolved, problem.DateTimeCreated), '%k %i')
From problem发布于 2016-01-27 17:21:47
错误消息是由于TIMEDIFF函数之前缺少一个逗号造成的:
SELECT problem.id, problem.DateTimeCreated, problem.DateTimeSolved, TIMEDIFF(HOUR, problem.DateTimeSolved, problem.DateTimeCreated)从问题
然后您会发现TIMEDIFF的参数是不正确的。这应该是可行的:
SELECT problem.id, problem.DateTimeCreated, problem.DateTimeSolved, TIMEDIFF( problem.DateTimeSolved, problem.DateTimeCreated)
From problem如果你只需要时间:
SELECT problem.id, problem.DateTimeCreated, problem.DateTimeSolved, HOUR(TIMEDIFF( problem.DateTimeSolved, problem.DateTimeCreated)) From problem发布于 2016-01-27 17:16:40
尝尝这个
$query = "SELECT problem.id, problem.DateTimeCreated, problem.DateTimeSolved TIMESTAMPDIFF(HOUR, problem.DateTimeSolved, problem.DateTimeCreated)
From problem";https://stackoverflow.com/questions/35043704
复制相似问题