mysql为两个日期之间的小时差添加列

标签 mysql datetime select group-concat

我在 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/

相关文章:

MySQL 查询返回按一个字段分组的表的所有字段,但仅在该分组在另一个字段中具有多个值的情况下返回

php - 将复选框值插入多行

c# - ORA-01843 : not a valid month - issue on second pc

mysql - 差距检测 - 识别跳过/错过的日期

php - MySQL 选择并计算日期范围 : Doesn't work crossing the month barrier

php - 从包含约 280,000 个文件的目录中检索正确的文件

mysql - 不支持指定的方法 MySql Entity Framework 6

javascript - 如何在javascript中比较日期?

php - 选择并列出 child 和 parent

php - Mysql ORDER BY 数字 DESC