[英]Using Bigquery , how to use conditional statement involving dates
我需要一个计算天数的列,即(订单日期 - 2020 年 1 月 1 日)。
条件是-> 如果订单日期介于 2020 年 1 月 1 日和 2020 年 3 月 31 日之间,则 (DATE_DIFF('2020-01-31',Order Date, DAY)) 否则为 0
问题 -> 如何在 BigQuery 中使用这个条件语句?
表- 客户 ID | 订购日期 298 | 2020-02-28 78 | 2020-04-02 31 | 2021-01-09 345 | 2021-09-09 74 | 2020-01-20
我试过了 -
if((Order Date <'2020-01-01') and (Order Date >'2020-03-31'),(DATE_DIFF('2020-01-31' ,Order Date, DAY)
,0))
尝试使用 WHERE 子句的 SELECT 语句:
SELECT id, orderdate, DATE_DIFF('2020-01-31', orderdate, DAY) as datediff FROM `yourdataset.ordertable`
WHERE orderdate BETWEEN '2020-01-01' AND '2020-03-31';
Output:
id orderdate datediff
298 2020-02-28 -28
74 2020-01-20 11
案例声明:
SELECT
id,
orderdate,
CASE
WHEN (orderdate BETWEEN '2020-01-01' AND '2020-03-31') THEN DATE_DIFF('2020-01-31', orderdate, DAY)
ELSE 0
END AS `datediff`
FROM `yourdataset.ordertable`
Output:
id orderdate datediff
78 02/04/20 0
298 28/02/20 -28
345 09/09/21 0
31 09/01/21 0
74 20/01/20 11
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.