bigqueryで日付の加減算が算術演算子でできるようになった!
タイトルの通りですが、以下のようなコードで未来や過去の日付を指定できるようになったようです。
これはまじありがたい!良アップデート!
未来日付を求める場合(DATA_ADDの代替)
SELECT '2020-10-15' + 1 AS next_date
アップデート前のコードはこんな感じ。
SELECT DATE_ADD(DATE "2020-10-15", INTERVAL 1 DAY) as next_date
過去日付を求める場合(DATA_SUBの代替)
過去日付の場合は、
SELECT '2020-10-15' - 365 AS last_year
アップデート前のコードはこんな感じ。
SELECT DATE_SUB(DATE "2020-10-15", INTERVAL 1 YEAR) as last_year;
この場合、閏年を挟む場合(2月が29日になる)は1日考慮がずれちゃって、結果は以下のようになりました。
この点は注意必要なところ。
まとめ
関数を使うのって、その環境で一定以上の慣れが必要なので、たまーに触る。ぐらいだとすぐ忘れちゃうので、使うときにググるか、コードをメモっておいてコピペする。というパターンが多いのではと思いますが、今回のアップデートのおかげで感覚的に日付の加減算できるので、まじありがたい限りです!
ただし、過去日付のところで触れましたが、INTERVALでYEARを指定した場合で、閏年を挟む場合の考慮は考える必要がありました。結果的に、日数指定したら1日ずれてしまう事件とかの罠もあるため、テストコードで使う場合は、算術演算子で利用。本番で稼働させる場合は、DATA_ADDやDATE_SUBなどの関数を利用する方が良いのかなとも思いました。
Author And Source
この問題について(bigqueryで日付の加減算が算術演算子でできるようになった!), 我々は、より多くの情報をここで見つけました https://qiita.com/ymto/items/9da5e2c65486680a9025著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .