Neo4J 3.4, как работает функция `date`? - PullRequest
0 голосов
/ 26 июня 2018

Я обновил Neo4J v3.3 до v3.4, чтобы опробовать новые пространственные и временные функции.

Я пытаюсь очень простые запросы. Один раз с функцией даты и один без. Результаты разные.

match (r:Model) where r.open_date>"2018-04-26" return count(r);

Результат 19283.

match (r:Model) where r.open_date>date("2018-04-26") return count(r);

Результат равен 0.

Как использовать новые функции?

1 Ответ

0 голосов
/ 26 июня 2018

[Изменено]

Новые временные типы , такие как Date и Duration, являются действительно специальными типами, и нет смысла сравнивать их напрямую со строками или числами.

Если r.open_date имеет правильный формат , это должно работать:

MATCH (r:Model)
WHERE DATE(r.open_date) > DATE("2018-04-26")
RETURN

Кроме того, следующий запрос может быть более производительным (поскольку второй объект DATE не требуется создавать):

MATCH (r:Model)
WHERE TOSTRING(DATE(r.open_date)) > "2018-04-26"
RETURN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...