代码之家  ›  专栏  ›  技术社区  ›  Tom Wright

在Azure函数绑定中,有没有任何方法可以根据相对于今天的日期查询Cosmos DB中的文档?

  •  1
  • Tom Wright  · 技术社区  · 6 年前

    像这样的事情会有用的。。。

    SqlQuery = "SELECT * FROM c WHERE c.Filter = {FilterTerm} AND c.SomeDate < '" + DateTime.UtcNow + "'")]
    

    据我所知,cosmosdb中没有内置任何函数(例如, GetDate() in T-SQL

    有什么办法能更有效地做到这一点吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jay Gong    6 年前

    虽然Cosmos DB Cosmos DB中没有任何函数像GetDate()那样内置,但是您可以使用 UDF 实现类似的功能。

    function convertTime(unix_timestamp){
    
          var date = new Date();
          return date;
        //   var year = date.getFullYear();
        //   var month = ("0"+(date.getMonth()+1)).substr(-2);
        //   var day = ("0"+date.getDate()).substr(-2);
        //   var hour = ("0"+date.getHours()).substr(-2);
        //   var minutes = ("0"+date.getMinutes()).substr(-2);
        //   var seconds = ("0"+date.getSeconds()).substr(-2);
    
        //   return year+"-"+month+"-"+day+" "+hour+":"+minutes+":"+seconds;
    }
    

    您可以转换任何与字段匹配的格式。

    sql语句:

    SELECT c.SomeDate < udf.nowDate() FROM c
    

    如有任何问题,请随时告诉我。