2016-11-22 45 views
1

我得到一個ApiError中未找到docs https://cloud.google.com/bigquery/docs/reference/legacy-sql#datetimefunctions,函數STRFTIME_UTC_USEC在BQ中可用。事實上,相同的查詢在BQ控制檯網站上的查詢生成器中工作(只需將錶轉義字符從``更改爲[])。BigQuery的日期函數在API查詢

調用查詢的代碼如下所示:

const BigQuery = require('@google-cloud/bigquery'); 
const sqlQuery = SELECT STRFTIME_UTC_USEC(created, "%h %d %Y") as user_created from `tablePath` 
const options = { 
query: sqlQuery, 
useLegacySql: false // Use standard SQL syntax for queries. 
}; 
bigquery.query(options)  
.then(function (results) { 
    const rows = results[0]; 
    console.log(rows); 
    callback(rows); 
}); 

任何解決方案在那裏進行格式化用Node.js的API時間戳的BigQuery?我也遇到了同樣的錯誤,試圖在查詢字符串中使用YEAR()函數。

回答

1

此功能是通過傳統的SQL,而不是由標準SQL的支持,但低於使得它使用標準的SQL因此衝突/錯誤

useLegacySql: false // Use standard SQL syntax for queries. 

只是刪除此或將其更改爲true

在情況下,如果你需要/想在標準SQL - 使用下面作爲一個例子

SELECT 
    FORMAT_DATE("%h %d %Y", CURRENT_DATE()), 
    FORMAT_TIMESTAMP("%h %d %Y", CURRENT_TIMESTAMP())