无法申请"其中"子句到BigQuery

时间:2016-08-10 07:54:01

标签: google-bigquery

我在一个大查询表中有一个日期列(格式为YYYY-MM-DD)。我无法将where子句应用于日期列。我使用以下查询:

SELECT * FROM [dataSet_Id.TableName] where CR_DT=DATE("2016-01-01")

SELECT * FROM [dataSet_Id.TableName] where CR_DT=DATE("2016-01-01") where CR_DT=20160101

那我该怎么办?

2 个答案:

答案 0 :(得分:3)

我搞定了,如果我使用标准SQL方言而不是旧版SQL

用于处理where子句中的日期的示例查询:

SELECT * from demoschema.demotable where dob = date('2016-08-10');
SELECT * from demoschema.demotable where dob = '2016-08-11';

如果您想使用标准SQL方言,只需转到显示选项,然后您会找到用于启用的 SQL版本字段标准SQL。 .Dialect。

答案 1 :(得分:1)

如果CR_DT列的类型为String,则:

SELECT * FROM [dataSet_Id.TableName] where CR_DT = '2016-01-01'

如果CR_DT列的类型为TIMESTAMP,则:

SELECT * FROM [dataSet_Id.TableName] where DATE(CR_DT) = DATE(timestamp('2016-01-01'))