如何解决错误'对bigquery.jobs.query的API调用失败,并出现错误:在...处遇到了“” FROM“”来自“。在期望:”)“'

时间:2019-05-30 05:15:34

标签: google-bigquery google-sheets-api appscript

我正在尝试使用来自appscript的查询字符串(附加在代码中)运行bigquery api调用;该查询在bigquery用户界面中运行得很好

我尝试了以下操作,但均未成功:
1.在查询字符串中的orders.creation_date中包含括号
2.将订单替换为实际的表格表,即[my-project:theservices.theservice_order_item]

/**
 * Runs a BigQuery query and logs the results in a spreadsheet.
 */
function runQuery() {

  var projectId = 'my-project';

  var request = {
    query:  
    "SELECT  extract(date from orders.creation_date) as the_date \n FROM [my-project:theservices.theservice_order_item] AS orders LIMIT 10;"   
  }; 

};

以下是我得到的错误:
对bigquery.jobs.query的API调用失败,并出现以下错误:在第1行第22列的“”处遇到““ FROM”“来自”。期望:“)” ...(第23行,文件“ Code”)

1 个答案:

答案 0 :(得分:1)

引用App Script BigQuery Standard SQL insert or update statement

  

您需要将useLegacySql标志/参数设置为false,以指示您要使用标准SQL,如下所示:

var job = {
configuration: {
  query: {
    query: 'SELECT ....',
    useLegacySql: false
    }

此外,当表看起来像这样时-这就是#legacySQL:

FROM [my-project:theservices.theservice_order_item]

在#standardSQL中,表应如下所示:

FROM `my-project.theservices.theservice_order_item]`