2014-11-15 84 views
0

我想在MySQL中添加小時或分鐘時間數據類型(在這裏沒有DATE):如何添加小時,分鐘或秒「時間」數據類型在MySQL

create table table1(
    arrival_time TIME 
); 

這裏是其中的情況下問題是23:59:59arrival_time之後,如果我加1小時,應該顯示00:59:59,而不是24:59:59

我已經嘗試了許多功能,如addtime(),date_add()和所有但不符合上述要求。

+0

借這可能有助於http://www.w3schools.com/sql/func_date_format.asp –

+0

按手動dev.mysql.com/doc/refman/ 5.0/en/time.html TIME的有效範圍是從'-838:59:59'到'838:59:59'。顯示24:59:59即使它不是你想要的,也能正常工作。 – DaveCoast

回答

1
select arrival_time, 
     maketime(mod(HOUR(date_add(arrival_time, INTERVAL 1 HOUR)), 24), 
       mod(minute(date_add(arrival_time, INTERVAL 2 MINUTE)), 60), 
       mod(second(date_add(arrival_time, INTERVAL 2 SECOND)), 60)) sooner_or_later, 
     TIME((ADDTIME(TIME('23:59:59'), TIME('01:02:02')))%(TIME('24:00:00'))) or_rather_so 
from table1; 

返回

|     ARRIVAL_TIME |    SOONER_OR_LATER |     OR_RATHER_SO | 
|--------------------------------|--------------------------------|--------------------------------| 
| January, 01 1970 23:59:59+0000 | January, 01 1970 00:01:01+0000 | January, 01 1970 01:02:01+0000 | 

第二列推位。最後一列做適當的算術 - 從ADDTIME() return 24 hour time

SQL Fiddle

+0

非常感謝... – Nicky

相關問題