【发布时间】:2020-01-07 04:55:30
【问题描述】:
这可能看起来有点奇怪,但已经有每个日期的名称表。
在我的项目中,我有每个日期的表格,以便更容易处理统计数据。
当然,我不认为这总是最好的方法,但这是我项目的表结构。 (这是 Google BigQuery 和 Amazon Athena 中的常用技术。这个问题是关于 Google BigQuery 的)
所以要获取数据,我想生成今天的日期。如果我使用TODAY,即使是第二天,我也可以在不重写代码的情况下获取最近一天的数据。
我试过了,但代码不起作用。
不工作1:
CONCAT in FROM
SELECT
*
FROM
CONCAT('foo_', FORMAT_TIMESTAMP('%Y%m%d', CURRENT_TIMESTAMP(), 'Asia/Tokyo'))
错误:
未找到表值函数:CONCAT at [4:3]
不工作2:
create temporary function:
create temporary function getTableName() as (CONCAT('foo_', FORMAT_TIMESTAMP('%Y%m%d', CURRENT_TIMESTAMP(), 'Asia/Tokyo')));
错误:
CREATE TEMPORARY FUNCTION 语句后面必须跟一个实际查询。
问题
如何生成包含TODAY日期的表名?
【问题讨论】:
标签: sql date google-bigquery