например,
SELECT *
FROM api_call_log
WHERE account_sid='XXXXXXXXXXXX' AND
created_time >= 01-02-2016 00:00:00 AND
created_time <= 31-02-2016 23:59:59
ALLOW FILTERING
Я получаю записи с первого месяца, хотя я искал второй месяц.
Трудно сказать, не видя структуру таблицы или соответствующие части вашего набора результатов. Но я заметил, что ты не указание смещения по Гринвичу, что означает, что вы эффективно запрос по вашему локальному смещению по умолчанию. Проблема в том, что Кассандра хранит по Гринвичу + 0000.
Например, если у вас отрицательное смещение по Гринвичу, скажем, -0600 (как и у меня), запрос по GMT-0600 пропустит данные за 6 часов с 1 февраля. Например, если у меня есть ряд для 2016-02-01 01:00:00+0000
этот запрос не вернет его:
aploetz@cqlsh:stackoverflow> SELECT * FROm events WHERe monthbucket='201602'
AND eventdate >= '2016-02-01 00:00:00';
monthbucket | eventdate | beginend | eventid | eventname
-------------+-----------+----------+---------+-----------
(0 rows)
И это потому, что 2016-02-01 01:00:00+0000
по существу 2016-01-31 19:00:00-0600
, Так что, если я добавлю смещение по Гринвичу 0000
Я вижу строку.
aploetz@cqlsh:stackoverflow> SELECT * FROm events WHERe monthbucket='201602'
AND eventdate >= '2016-02-01 00:00:00+0000';
monthbucket | eventdate | beginend | eventid | eventname
-------------+--------------------------+----------+--------------------------------------+-------------------
201602 | 2016-02-01 01:00:00+0000 | b | 78d2c2b7-c4ec-408f-be37-eccc0c05727d | test month border
(1 rows)
Я думаю, что у вас, вероятно, есть противоположная проблема (дополнительные строки по сравнению с отсутствующими строками) из-за наличия положительный Смещение по Гринвичу. Если вы не укажете свое смещение в запросе, это может быть причиной того, что он включает строки предыдущего месяца. И если это так, то вы можете захотеть эти строки.
Кроме того, не используйте ALLOW FILTERING
, Как обычно.
Попробуй это
SELECT * FROM api_call_log WHERE account_sid='XXXXXXXXXXXX' AND jobs.created_at between '01-02-2016 00:00:00' and '31-02-2016 23:59:59';
А также проверьте формат ДАТА / ВРЕМЯ столбца даты