MySQL时间戳差异

Soh*_*uri 21 mysql timestamp

我有一个列有timestam的表,它存储了这种格式的时间戳:"2012-12-10 21:24:30"

我正在寻找一个SQL查询,它采用当前时间戳并用列中的时间戳减去它,并给出这种格式的差异:

"3小时2分钟剩余时间"

寻找执行该操作的MySQL查询.

diE*_*cho 35

使用 TIMESTAMPDIFF

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
Run Code Online (Sandbox Code Playgroud)

其中unit参数,应该是以下值之一:MICROSECOND(微秒),秒,分钟,小时,天,周,月,季或年.

我的方法:将单位设置为SECOND ,然后使用SEC_TO_TIME

SELECT SEC_TO_TIME(TIMESTAMPDIFF(SECOND,`table`.`time_column`,CURRENT_TIMESTAMP()))

// will return in hh:mm:ii format
Run Code Online (Sandbox Code Playgroud)

更新

如果不到48小时,则返回HourDifference吗?否则没有

SELECT IF(TIMESTAMPDIFF(HOUR,`time_column`,CURRENT_TIMESTAMP())< 48  ,'yes','no')
Run Code Online (Sandbox Code Playgroud)