2017-09-19 14 views
0

私のmysqlの列時間の種類を持って、私はこの時間に24時間を追加したい、私は以下のコードで試してみてください。私は24時間を追加するためどのように合計24時間mysql?

SELECT SUBSTRING(CAST(DATE_ADD(STR_TO_DATE('23:00', '%k:%i'), INTERVAL (TIME_TO_SEC('24:00')/60) MINUTE) AS CHAR(8)), 1,5) 

私は(再び23時を返却する必要があります23:00は翌日)、このコードは私に47:00を返します。 いくつかお手伝いしますか?

答えて

0

私はあなたがあなたが最初に、日時に列値を変換する時間を追加し、バック時に結果を変換する必要がでaddTime

SELECT ADDTIME(‘23:00’,’24:00’) 

https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_addtime

+0

もう一度47:00になります... –

+0

ダミー日時を指定するとどうなりますか:SELECT SUBSTRING_INDEX(ADDTIME( '2017-01-01 23:00'、'24:00 ')、' ' 、-1) – jaibhavaya

+0

この作品は完璧!どうもありがとう... –

0

を探していると思う:

select cast(date_add(cast(time_column as datetime), interval 24 hour) as time) 
from yourtable; 

例:

select cast(date_add(cast(cast('23:00' as time) as datetime), interval 24 hour) as time) 
0

TIMEタイプでは、最大で839時間(肯定および否定)まで保存できます。期間を保存する必要がある場合は素晴らしいですが、時間を保存する場合はそれほど多くはありません。後者の場合は、代わりにDATETIMEタイプを考慮する必要があります。

関連する問題