在DocumentDB查询中的运算符之间

时间:2015-07-20 11:24:00

标签: c# between azure-cosmosdb

可以在documentdb中使用的Between运算符用于日期数据类型吗?

我的查询类似于

"select * from doc where doc.class= 8 AND doc.section= 'A' and doc.dateOfBirth Between 7/20/1995 12:00:00 AM and 7/27/2015 11:59:59 PM"

它返回一个带有消息错误请求的异常。

  

{"消息:   {\"错误\":[{\"严重性\":\"错误\" \"位置\" :{\"开始\":167,\"端\" 169},\"代码\":\" SC1001 \ " \"消息\":\"语法   错误,语法不正确' 12'。\"}]} \ r \ nActivityId:   71af58f5-5b60-467a-97f4-eec9b91e0d50,请求URI:   /应用/ 4c8d65d7-216b-46b4-abb7-52c1a0c7123f /服务/ b86da69b-7112-4c42-89c8-d97ca2f0bed6 /分区/ 07e9f066-670b-4b4b-96a8-352ed4a8c477 /复制/ 130810328249395810s"}

非常感谢任何帮助。

提前致谢。

2 个答案:

答案 0 :(得分:2)

这里有一个双and运算符

doc.section= 'A' AND  and doc.dateOfBirth

并且您在查询结束时关闭了一个括号,但是您还没有打开一个

12:00:00 AM and 7/27/2015 11:59:59 PM)

between运算符受文档here支持。你必须在" Where子句"下面向下滚动一点。标题。

答案 1 :(得分:1)

BETWEEN可用于任何JSON基元类型(数字,字符串,布尔值和空值)。在运算符之间无法应用日期数据类型但是如果您始终将日期转换为UTC并将其存储为ISO 8601格式的字符串,则标准字符串排序将起作用。