Neo4j Дата преобразования и сравнения? - PullRequest
0 голосов
/ 22 октября 2019

Я работал с базой данных MS Access. Мой datetime теперь похож на «05-03-2016 14:55:20». Мне нужно преобразовать его в формат datetime в neo4j.1. Как это сделать? 2. После преобразования мне нужно использовать фильтр даты, т.е. я хочу найти все узлы, созданные между 2 датами. Как это сделать?

Ответы [ 2 ]

0 голосов
/ 23 октября 2019
  1. Вы можете использовать функцию APOC apoc.date.parse(), чтобы преобразовать вашу строку даты и времени MS Access в количество секунд из эпохи UNIX, а затем построить neo4j datetime из этого значения. Например, это вернет neo4j datetime, представляющий вашу строку времени выборки:

    RETURN datetime({
      epochSeconds: apoc.date.parse('05-03-2016 14:55:20', 's', 'MM-dd-yyyy HH:mm:ss')
    })
    
  2. Временной тип neo4j можно сравнивать только напрямую с тем же типом. Например, чтобы сравнить datetime X с date Y, вы можете преобразовать X в 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
    
0 голосов
/ 22 октября 2019

Если Neo4j извлекает данные из запроса Access, создайте поле в запросе, которое вычисляет дату в строку, которую Neo4j может затем преобразовать в дату с помощью своей функции DateTime.

Format([fieldname], "yyyy/mm/dd hh:nn:ss")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...