タイムスタンプの秒を切り捨てて00秒にする方法について
ETLの「スクリプトを追加」を使用して、タイプスタンプの秒部分を一律で00にしたいです。
例を挙げると、2020-06-08T21:10:30 というタイムスタンプの秒を00にして2020-06-08T21:10:00としたいです。
DATE_FORMAT(concat(YEAR(`originally_published_at(JST)`),'/',MONTH(`originally_published_at(JST)`),'/',DAY(`originally_published_at(JST)`),' ',HOUR(`originally_published_at(JST)`),':',MINUTE(`originally_published_at(JST)`),':00'),'%Y-%m-%d %H:%i:%s')
上記のようなスクリプトを書いたのですが、
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
値「21:11:00」をタイプ「文字列」からタイプ「タイムスタンプ」に変換できませんでした。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
というエラーが出てしまいました。
エラーの解決方法をご教示いただけないでしょうか。
よろしくお願いいたします。
答え
-
すいません、エラーメッセージが間違っていました。
(色んな方法で検証していたので別のエラーを書いてしまいました。)
こちら↓が問題のエラーメッセージです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
値「2020/6/23 20:2:00」をタイプ「文字列」からタイプ「タイムスタンプ」に変換できませんでした。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
よろしくお願いいたします。
0 -
「TIMESTAMP_TRUNC」を使う方法はいかがでしょうか?
「スクリプトを追加」にて以下のように記載いただくと、秒を切り捨てて表示することができます。
TIMESTAMP_TRUNC(`現在`,'MINUTE')
2