我在 SQLfiddle 中编辑了一个 mysql 表:enter link description here
如您所见,我想添加一个列来计算时间列和 NOW() 之间的差异(以小时为单位),但没有任何效果。
有什么提示吗?
最佳答案
试试这个:
SELECT * ,HOUR(TIMEDIFF(STR_TO_DATE(Arbeitsbeginn, '%d.%m.%Y %H:%i:%s'), NOW()))
FROM (SELECT DRIVERNAME, GROUP_CONCAT(IF(ACTIONTEXT = 'Arbeitsbeginn', DATETIME, NULL)) AS 'Arbeitsbeginn',
GROUP_CONCAT(IF(ACTIONTEXT = 'Arbeitsende', DATETIME, NULL)) AS 'Arbeitsende',
GROUP_CONCAT(IF(ACTIONTEXT = 'PB', DATETIME, NULL)) AS 'Projektbeginn'
FROM geoImportRoot
GROUP BY DRIVERNAME
) A;
检查这个SQL Fiddle Demo
输出:
| DRIVERNAME | ARBEITSBEGINN | ARBEITSENDE | PROJEKTBEGINN | HOUR(TIMEDIFF(STR_TO_DATE(ARBEITSBEGINN, '%D.%M.%Y %H:%I:%S'), NOW())) |
-----------------------------------------------------------------------------------------------------------------------------------------------------
| Marx, Ronald | 18.06.2013 06:32:09 | (null) | 18.06.2013 06:32:12 | 77 |
| Richter, Mario | 18.06.2013 06:42:06 | (null) | 18.06.2013 06:42:09 | 77 |
| Winkler, Mario | 18.06.2013 06:48:22 | (null) | (null) | 77 |
关于mysql为两个日期之间的小时差添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17234514/