Я работал с базой данных MS Access. Мой datetime теперь похож на «05-03-2016 14:55:20». Мне нужно преобразовать его в формат datetime в neo4j.1. Как это сделать? 2. После преобразования мне нужно использовать фильтр даты, т.е. я хочу найти все узлы, созданные между 2 датами. Как это сделать?
Вы можете использовать функцию APOC apoc.date.parse(), чтобы преобразовать вашу строку даты и времени MS Access в количество секунд из эпохи UNIX, а затем построить neo4j datetime из этого значения. Например, это вернет neo4j datetime, представляющий вашу строку времени выборки:
apoc.date.parse()
datetime
RETURN datetime({ epochSeconds: apoc.date.parse('05-03-2016 14:55:20', 's', 'MM-dd-yyyy HH:mm:ss') })
Временной тип neo4j можно сравнивать только напрямую с тем же типом. Например, чтобы сравнить datetime X с date Y, вы можете преобразовать X в date перед выполнением сравнения. Следующий пример запроса вернет true:
date
true
WITH datetime({ epochSeconds: apoc.date.parse('05-03-2016 14:55:20', 's', 'MM-dd-yyyy HH:mm:ss') }) AS X, date('2016-05-04') AS Y RETURN date({date: X}) <= Y
Если Neo4j извлекает данные из запроса Access, создайте поле в запросе, которое вычисляет дату в строку, которую Neo4j может затем преобразовать в дату с помощью своей функции DateTime.
Format([fieldname], "yyyy/mm/dd hh:nn:ss")