在BQ中使用标准SQL - 作为任务的一部分,我想搜索在当天下午2点和当天下午2点之间创建的记录
我已经找到
SELECT DATETIME_SUB(DATETIME_TRUNC(CURRENT_DATETIME(), DAY), INTERVAL 10 hour)
昨天下午2点给我
SELECT DATETIME_ADD(DATETIME_TRUNC(CURRENT_DATETIME(),DAY),INTERVAL 14小时)
Gives me 2pm today
所以,我假设我可以在我的查询中使用它
Select * from
TableA
where CreatedDate Between
DATETIME_SUB(DATETIME_TRUNC(CURRENT_DATETIME(), DAY), INTERVAL 10 hour) and DATETIME_ADD(DATETIME_TRUNC(CURRENT_DATETIME(), DAY), INTERVAL 14 hour)
但是我得到以下内容
参数类型的运算符BETWEEN没有匹配的签名:TIMESTAMP,DATETIME,DATETIME . 支持的签名:(ANY)BETWEEN(ANY)AND(ANY)
我哪里错了?
1 回答
您的问题是
CreatedDate
是TIMESTAMP
,您需要转换为DATETIME
它可能像:
但是你可以轻松地为TIMESTAMP编写自己的语句