首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >奇怪的appengine查询结果

奇怪的appengine查询结果
EN

Stack Overflow用户
提问于 2012-06-14 18:18:32
回答 3查看 85关注 0票数 0

我在这个查询中做错了什么?

代码语言:javascript
运行
复制
SELECT * FROM TreatmentPlanDetails 
WHERE 
   accountId = 'ag5zfmRvbW9kZW50d2ViMnIRCxIIQWNjb3VudHMYtcjdAQw' AND 
   status = 'done' AND 
   category = 'chirurgia orale' AND
   setDoneCalendarEventStartTimestamp >= [timestamp for 6 june 2012]  AND 
   setDoneCalendarEventStartTimestamp <= [timestamp for 11 june 2012]  AND 
   deleteStatus = 'notDeleted' 
ORDER BY setDoneCalendarEventStartTimestamp ASC

我没有得到任何记录,但我确信有符合where子句条件的记录。为了获得正确的记录,我必须将时间戳间隔扩大1毫秒。正常吗?此外,如果我通过删除类别过滤器来修改此查询,我将获得正确的结果。这绝对很奇怪。我也在谷歌群组上询问过,但没有得到任何答复。无论如何,有关详细信息:https://groups.google.com/forum/?fromgroups#!searchin/google-appengine/query/google-appengine/ixPIvmhCS3g/d4OP91yTkrEJ

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-14 22:56:18

让我们专门讨论一下如何创建时间戳以进入查询。您使用什么代码来创建时间戳记录?显然,这一点很重要,因为使用它进行模糊处理会稍微影响查询。可能相关的是,在数据存储中,时间戳被记录为用微秒表示posix时间戳的整数,即自1970UTC 1/1/1970以来的微秒数(不包括闰秒)。同样相关的是,日期(即没有时间)表示为午夜,即当天最早的时间。但请给我们看确切的代码。(显示您试图检索的记录的实际内容也可能很重要。)

票数 1
EN

Stack Overflow用户

发布于 2012-06-14 23:58:32

非特定于您的问题的旁白:实体属性名称算作您的存储配额的一部分。如果这将是一个巨大的数据集,您可能会为像setDoneCalendarEventStartTimestamp这样的属性名称支付比您想要的更多的$$。

票数 1
EN

Stack Overflow用户

发布于 2012-06-14 19:23:16

因为你写道:

如果我通过删除类别过滤器来修改此查询,我将获得正确的结果

这可能意味着,在您将匹配的记录写入数据存储时,该类别尚未编制索引。如果希望将记录添加到新创建的索引中,则必须将记录重写到数据存储中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11031053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档