如何在大查询中过滤日期

Ali*_*ork 6 mysql google-bigquery

我想弄清楚如何在大查询中正确过滤日期。例如在 MS sql 我做:

Select a, b, date from table_1 where date >= '2017-05-01' 
Run Code Online (Sandbox Code Playgroud)

在大查询中,过滤器不起作用,它返回所有记录。我试过

Select a, b, date from table_1 where date >= Date("2017-05-01")
Select a, b, date from table_1 where date >= 2017-05-01
Select a, b, date from table_1 where date >= timestamp('2017-05-01')
Run Code Online (Sandbox Code Playgroud)

这些都没有用。文档提到创建一个分区表,但我不确定这是我需要做的(我希望不是)。

请帮忙 :(

Mik*_*ant 8

列日期是日期类型

试试下面的例子

#standardSQL
WITH table_1 AS (
  SELECT 1 AS a, 2 AS b, DATE '2017-04-20' AS date UNION ALL
  SELECT 1, 2, DATE '2017-05-20' 
)
SELECT *
FROM table_1
WHERE date > '2017-05-01'
Run Code Online (Sandbox Code Playgroud)

输出是

a   b   date     
1   2   2017-05-20   
Run Code Online (Sandbox Code Playgroud)