如何对日期分区表的当前日期运行查询?

时间:2019-12-06 03:51:15

标签: sql database google-bigquery

我有一个按日期划分的表,所以类似“ tablename_20191205”。有没有一种方法可以让我每天都运行查询而无需修改日期?另外,如果我使用两个表,该怎么办。

所以不用打字,

选择*从'tablename_20191205'作为表1,选择'tablename2_20191205'作为表2,并每天修改日期。

我可以执行以下操作吗?

'tablename_CurrentDate()''tablename2_CurrentDate()'中选择*

我不熟悉如何查询分区表的日期。任何帮助表示赞赏。谢谢!

2 个答案:

答案 0 :(得分:2)

以下是用于BigQuery标准SQL

SELECT * FROM `project.dataset.tablename*`
WHERE _TABLE_SUFFIX = CONCAT('_' , FORMAT_DATE('%Y%m%d', CURRENT_DATE())   
   OR _TABLE_SUFFIX = CONCAT('2_', FORMAT_DATE('%Y%m%d', CURRENT_DATE())

答案 1 :(得分:0)

DECLARE @date char(20) = CONVERT(CHAR(10), GETDATE(), 100);

DECLARE @query NVARCHAR(MAX) = N'select * from table_name_'+ @date ;

PRINT @query;

我认为这段代码可以解决您的问题。

作为参考,您可以查看本文以获得更多详细信息,How to generate table name by datetime?