在BigQuery中,我有一个值表,其中一列包含YYYY-MM-DDtHH-MM-SS格式的日期,例如2020-07-24T20:13:35。
我只想提取过去30天的行,并排除所有超过30天的行。
我相信我已经知道如何将日期格式化为YYYY-MM-DD:(列名为“date”)
选择DATE_SUB(日期,间隔30天)
但是,当它被格式化为YYYY-MM-DDtHH-MM-SS时,这不起作用。
发布于 2020-12-09 02:58:55
您可以简单地使用:
where col > datetime_add(current_datetime, interval -30 day)或
where col > timestamp_add(current_timestamp, interval -30 day)取决于列是datetime还是timestamp。
发布于 2020-12-09 03:10:17
您还可以使用
Select * from table where date(date_column) >= date_sub(current_date, interval 30 day)这样,您将获得30天前的所有记录,从上午12点开始使用current_datetime或current_timestamp只能在您运行查询时给出30天前的结果。
https://stackoverflow.com/questions/65205134
复制相似问题