天数时间差:
select datediff('2018-07-09','2018-06-05'); --34
月数时间差:
select months_between('1997-02-28', '1996-1-30'); --12.93548387
年数时间差:
其他方式:
先转换为时间戳格式再求时间差:
将两个字段转换为为毫秒类型时间戳,相减,再转换为2019-06-23 00:00:00 这种形式并取两位小数点
如果时间差单位为天的话则除以3600*24 如果时间差单位是小时的话则除以3600
示例:
时间格式为2019-06-23 00:00:00
计算天数时间差:
select round(((unix_timestamp('2019-06-23 00:00:00') - unix_timestamp('2019-06-22 00:00:00') ) / (3600*24)),2) hktime
计算小时时间差:
select round(((unix_timestamp('2019-06-23 00:00:00') - unix_timestamp('2019-06-22 00:00:00') ) / (3600)),2) hktime
计算分钟时间差:
select round(((unix_timestamp('2019-06-23 00:00:00') - unix_timestamp('2019-06-22 00:00:00') ) / 60),2) hktime
计算秒时间差:
select round(((unix_timestamp('2019-06-23 00:00:00') - unix_timestamp('2019-06-22 00:00:00') )),2) hktime