2011-07-29 23 views
0

下面的SimpleDB的查詢返回51條:AWS的SimpleDB where子句 '和' 經營者出現行爲異常

select * from logger where time > '2011-07-29 17:45:10.540284+00:00' 

該查詢返回結果20534:

select * from logger where time < '2011-07-29 17:50:08.615626' 

這兩個查詢都返回0的結果! ?:

select * from logger where time between '2011-07-29 17:45:10.540284+00:00' and '2011-07-29 17:50:08.615626' 

select * from logger where time > '2011-07-29 17:45:10.540284+00:00' and time < '2011-07-29 17:50:08.615626' 

我在這裏錯過了什麼?

回答

2

但是,在您搜索的時間範圍內,實際上是第一次查詢返回的51個結果中的任何一個?如果它們都晚於17:50:08.615626,那麼您的查詢按預期執行。

我也懷疑你是如何代表時間不一致的事實。如果您希望時間與SDB保持一致的詞典匹配,您應該真正使用ISO 8601時間戳。

另一種選擇是查詢花費的時間超過查詢超時運行時間,您是否檢查錯誤?

最後 - 也許SDB的糟糕的一天,查詢只是有點慢 - 在這些情況下,你會發現你得到0的結果,但得到下一個令牌 - 實際結果在下一批。

有幫助嗎?

+0

哦對 - 我完全錯過了檢查,我的任何條目都在原來的範圍內。是的,事實證明,沒有任何東西(雖然我很確定有一點,也許我會以某種方式掩蓋它)。 – josh