Я использую apoc
для расчета разницы между двумя датами. Это работает, когда я предоставляю значение для N.ID
в предложении MATCH
. Но происходит сбой при удалении N.ID
, потому что я пытаюсь обработать код для нескольких идентификаторов, а не для одного.
MATCH (N:PERSON)-[M:PLACED]-(K:ORDER) WHERE K.ORDER_CODE="A23" and N.ID=2511217
WITH N ,max(apoc.date.parse(SUBSTRING(M.ORDER_DATE,0,8),'d',"yyyymmdd")) AS initialTime,
apoc.date.parse(SUBSTRING(N.charge_DATE,0,8),'d',"yyyymmdd") AS finalTime
RETURN N.ID, finalTime - initialTime as difference ;
N.ID
разница
2511217 4
Однако, когда N.ID
удален, я получаю:
MATCH (N:PERSON)-[M:PLACED]-(K:ORDER) WHERE K.ORDER_CODE="A23"
WITH N ,max(apoc.date.parse(SUBSTRING(M.ORDER_DATE,0,8),'d',"yyyymmdd")) AS initialTime,
apoc.date.parse(SUBSTRING(N.charge_DATE,0,8),'d',"yyyymmdd") AS finalTime
RETURN N.ID, finalTime - initialTime as difference ;
Neo.ClientError.Procedure.ProcedureCallFailed: не удалось вызвать функцию apoc.date.parse
: вызвано: java.text.ParseException: непроанализируемая дата: "NULL"