bigqueryでデータの翌日まで、みたいな書き方
oracleだったらデータの翌日、みたいなのは+1で簡単に出来るんですが、
bqだとちょっと面倒でした。
さらに、入ってるデータがtimestampだったので、変換する必要もあった。
dat2、入ってなかったらdat1みたいな判断もSQL内でやってしまうプラン。
ifnull=oracleのnvlみたいなもん。dat2がnullだったらdat1にする。GREATESTを使うとnullの時にnullになってしまう。
cast=dat2とかがtimestamp型だったから、date型に変換
date_add=dat2の「翌日」とする
CURRENT_DATE=bigqueryのdate型の「今日」
oracleだったらデータの翌日、みたいなのは+1で簡単に出来るんですが、
bqだとちょっと面倒でした。
さらに、入ってるデータがtimestampだったので、変換する必要もあった。
dat2、入ってなかったらdat1みたいな判断もSQL内でやってしまうプラン。
where date_add(cast(ifnull(dat2, dat1 ) as date), INTERVAL 1 DAY) >= CURRENT_DATE
ifnull=oracleのnvlみたいなもん。dat2がnullだったらdat1にする。GREATESTを使うとnullの時にnullになってしまう。
cast=dat2とかがtimestamp型だったから、date型に変換
date_add=dat2の「翌日」とする
CURRENT_DATE=bigqueryのdate型の「今日」
コメント