无法在SELECT中选择_PARTIONTIME,但可以在INSERT中选择它

时间:2019-02-21 19:35:51

标签: google-bigquery

运行以下SELECT时,我收到此错误消息

  

错误:无效的字段名称“ _PARTITIONTIME”。字段名称不允许以(不区分大小写)前缀_PARTITION, TABLE FILE 和_ROW_TIMESTAMP

开头
SELECT
    _PARTITIONTIME,
    jobId
FROM
    `project.dataset.audit`
WHERE
    _PARTITIONTIME >= TIMESTAMP("2019-02-20")

但是,当我在DML中使用该查询时,

INSERT INTO
  `project.dataset.audit_clustered`
  (
      _PARTITIONTIME,
      jobId,
  )
SELECT
    _PARTITIONTIME,
    jobId
FROM
    `project.dataset.audit`
WHERE
    _PARTITIONTIME >= TIMESTAMP("2019-02-20")

我有2个问题:

  1. 为什么仅SELECT不起作用
  2. 是否保证INSERT正常工作并将数据插入目标表的正确分区

1 个答案:

答案 0 :(得分:1)

替换

SELECT  _PARTITIONTIME

使用

SELECT  _PARTITIONTIME AS something

这是因为结果集不能包含以_开头的列,但是您可以使用其他任何名称。