背景
TRANSTAMP3、TRANSTAMP2在Oracle数据库中的类型为varchar,但实际保存的值是时间戳timestamp类型,现在要计算二者的毫秒差
Oracle或MySQL
extract(second from (to_timestamp(TRANSTAMP3,'yyyy-mm-dd hh24:mi:ss.ff') - to_timestamp(TRANSTAMP2,'yyyy-mm-dd hh24:mi:ss.ff'))) * 1000
ODPS
数仓使用ODPS存储数据,不能识别操作extract函数,sql如下:
DATEDIFF(to_date(TRANSTAMP3,'yyyy-MM-dd hh:mi:ss.ff3'),to_date(TRANSTAMP2,'yyyy-MM-dd hh:mi:ss.ff3'),'ff3')