查询Fusion Tables并按日期过滤

时间:2018-03-29 17:48:38

标签: javascript google-apps-script google-fusion-tables

我使用WHERE语句通过Fusion Tables V2 API发送查询按日期过滤,但我无法找到正确的日期格式(文档中提供的日期格式无用)。

    var query = "SELECT 'amount', 'closedate' FROM ************ " + 
                "WHERE 'closedate' >= '01/01/2018' ";

    var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token;
    var dataSourceUrl = 'https://www.googleapis.com/fusiontables/v2/query?sql=' + encodeURIComponent(query) +
                        '&typed=true'+
                        '&access_token=' + encodeURIComponent(access_token);

    var jqxhr = $.get(dataSourceUrl, handleResponse, "json");

我总是得到这样一个空洞的回答:

{
 "kind": "fusiontables#sqlresponse",
 "columns": [
  "amount",
  "closedate"
 ]
}

如何设置日期格式以进行正确的过滤?

1 个答案:

答案 0 :(得分:0)

documentation

中找到了这个
  

在DATETIME上过滤

     

在DATETIME类型的列上进行过滤时,该值应为   格式化为以下支持格式之一:

     
      
  • MMM dd,yy
  •   
  • MM / DD / YY
  •   
  • MM-DD-YY
  •   
  • MMM-DD-YY
  •   
  • YYYY.MM.DD
  •   
  • DD-MMM-YY
  •   
  • MMM / YY
  •   
  • MMM yy
  •   
  • DD / MMM / YY
  •   
  • YYYY
  •   

看起来MM / DD / YYYY和DD / MM / YYYY不支持格式。但是,最接近您的格式是yyyy.MM.dd.您可以根据需要编写代码以在格式之间进行转换。一个简单的正则表达式应该可以解决这个问题。