GBQ SQL:在WHERE语句中使用IF语句筛选数据
希望在满足多个条件时筛选数据。我的表格如下:GBQ SQL:在WHERE语句中使用IF语句筛选数据,sql,google-bigquery,Sql,Google Bigquery,希望在满足多个条件时筛选数据。我的表格如下: ID STOCK TIME (datetime field) 1 0 2020-06-12T09:20:00.000 2 0 2020-06-11T09:20:00.000 3 10 2020-06-10T09:20:00.000 4 5 2019-01-12T09:20:00.000 5 0 2009-01-12T09:20:00.000 6 0
ID STOCK TIME (datetime field)
1 0 2020-06-12T09:20:00.000
2 0 2020-06-11T09:20:00.000
3 10 2020-06-10T09:20:00.000
4 5 2019-01-12T09:20:00.000
5 0 2009-01-12T09:20:00.000
6 0 2009-06-12T09:20:00.000
我需要保留满足以下任一条件的行:
- 如果库存>0,则保留行
- 如果STOCK 0或STOCK您的代码看起来基本正确。但可以简化为:
这有两个假设:WHERE STOCK > 0 OR TIME >= DATETIME_ADD(CURRENT_DATETIME(), interval -14 day)
不是stock
NULL
时间不在未来
这两个看起来都很合理。您的代码看起来基本正确。但可以简化为:
这有两个假设:WHERE STOCK > 0 OR TIME >= DATETIME_ADD(CURRENT_DATETIME(), interval -14 day)
不是stock
NULL
时间不在未来
这两者似乎都是合理的。您的表达式是正确的,同时建议在这种情况下使用括号以避免混淆,如下面的示例所示WHERE STOCK > 0 OR (STOCK <=0 AND TIME BETWEEN datetime_add(current_datetime(), interval -14 day) and current_datetime())
其中STOCK>0或(STOCK您的表达式是正确的,同时建议在这种情况下使用括号以避免混淆,如下面的示例所示
WHERE STOCK > 0 OR (STOCK <=0 AND TIME BETWEEN datetime_add(current_datetime(), interval -14 day) and current_datetime())
其中库存>0或(库存