2016-10-19 2 views
1

Я использую базу данных Neo4j.Neo4j не имеет типа данных даты только имеют тип данных временной отметки.Neo4j - Преобразование даты

Мне нужно сравнить текущую дату с существующей датой, используя запрос cql.

Мой существующий формат даты - «8/4/2011», который является строкой.

Тогда как я могу сравнить его. Любой способ использовать хранимую процедуру [date], в то время как время импортирования данных объемных данных csv.

Я использовал хранимую процедуру APOC, но я не знаю, как ее сравнить.

CALL apoc.date.format(timestamp(),"ms","dd.MM.yyyy") 
07.07.2016 

CALL apoc.date.parse("13.01.1975 19:00","s","dd.MM.yyyy HH:mm") 
158871600 

Я ожидаю, как этот

MATCH(dst:Distributor) WHERE dst.DIST_ID = "111137401" WITH dst CALL apoc.date.parse(dst.ENTRY_DATE,'s', 'dd/MM/yyyy') YIELD d SET dst.ENTRY_DATE = d RETURN dst; 

Любые возможности, пожалуйста, помогите мне ...

+0

Этот запрос заменит 'ENTRY_DATE' этого ': Дистрибьютор' с меткой времени. Если вы сможете реорганизовать свои данные следующим образом, я бы рекомендовал сделать это для всего вашего набора данных, так как это упростит ситуацию. Можете ли вы изменить данные таким образом? –

ответ

0

правый запрос:

USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:///DST.csv" AS row 
CALL apoc.date.parse(toString(row.ENTRY_DATE),"ms","dd-MMM-yy") YIELD value as date CREATE (DST:Distributor {ENTRY_DATE: date })