案例陈述反映在一个季度的最后一天



我有一个字段,我们将其命名为purchase_date,它反映了购买商品的时间。还有一个名为tutorial_date的字段,用于反映购买该道具的用户何时获得教程。

在我的查询中,我希望它反映出教程是否发生在购买的同一季度。如果我想把重点放在特定的季度,它看起来像这样:

CASE WHEN (tutorial_date >= '2016-07-01' AND tutorial_date <= '2016-09-30') THEN successful

但是这让事情变得很乏味。我想做的是硬编码,这样我就可以得到相同的结果,不管它是什么时候购买的。假设它是在2016年9月购买的,它会自动拥有这些参数。如果它是在2015年2月购买的,那么它将属于任何季度。

for BigQuery Legacy SQL

SELECT 
  *, 
  YEAR(purchase_date) = YEAR(tutorial_date) AND 
  QUARTER(purchase_date) = QUARTER(tutorial_date) AS successful
FROM
  (SELECT '2016-05-02' AS purchase_date, '2016-07-02' AS tutorial_date),
  (SELECT '2016-06-02' AS purchase_date, '2016-07-02' AS tutorial_date),
  (SELECT '2016-07-02' AS purchase_date, '2016-09-02' AS tutorial_date),
  (SELECT '2016-08-02' AS purchase_date, '2016-10-02' AS tutorial_date)

最新更新