我有一个按日期划分的表,所以类似“ tablename_20191205”。有没有一种方法可以让我每天都运行查询而无需修改日期?另外,如果我使用两个表,该怎么办。
所以不用打字,
选择*从'tablename_20191205'
作为表1,选择'tablename2_20191205'
作为表2,并每天修改日期。
我可以执行以下操作吗?
从'tablename_CurrentDate()'
和'tablename2_CurrentDate()'
中选择*
我不熟悉如何查询分区表的日期。任何帮助表示赞赏。谢谢!
答案 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?