【SQL】-【计算两个varchar类型的timestamp的毫秒差】

背景

在这里插入图片描述
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')

猜你喜欢

转载自blog.csdn.net/CaraYQ/article/details/132068212