[SQL]-[varchar型の2つのタイムスタンプ間のミリ秒の差を計算する]

背景

ここに画像の説明を挿入します
Oracle データベースの TRANSTAMP3 と TRANSTAMP2 の型は varchar ですが、実際に保存される値はタイムスタンプ型です。ここで、2 つの間のミリ秒の差を計算する必要があります。

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 を使用してデータを保存するため、抽出関数を認識できません。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