我正在尝试在Azure文档数据库中运行简单的SQL查询,这是文档的外观:
如您所见,我将坐标存储为双精度。现在,我尝试运行简单的查询只是为了对其进行测试SELECT * FROM locations WHERE locations.Latitude.CoordinateStart <= 50.123456
,但这并没有失败,但是它返回0个结果:
有一点我想很好,也许是我错了,因为由于限制我不能使用这么长的十进制,但是如果我将它们更改为整数(乘以100的值),我的坐标将是33644729并且查询看起来为<=50123456。在这种情况下,我仍然无法在查询中得到任何结果,得到0。这里缺少什么?
编辑:
索引策略如下
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Range",
"dataType": "String",
"precision": -1
},
{
"kind": "Spatial",
"dataType": "Point"
}
]
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
}
]
}
这些是默认设置,创建集合时我没有碰过它们。
答案 0 :(得分:2)
尝试此查询:
SELECT * FROM locations WHERE locations.Latitude[0].CoordinateStart <= 50.123456