Neo4j-在查询中将时间字符串转换为整数
Neo4j- convert Time String into Integer in query
如何在 Neo4j 中将字符串时间转换为整数。我已经尝试了很长时间,但似乎没有任何明确的解决方案。我发现唯一的解决方案是在从 CSV 加载节点时向我的节点添加一个新的 属性。我不想这样做。
我有以下格式的时间:
"18:11:00"
我想对它们做一些减法。
我尝试执行以下操作但无济于事:
match (st1:Stoptime)-[r:PRECEDES]->(st2:Stoptime)
return st1.arrival_time, toInt(st1.arrival_time)
limit 10
但我得到以下输出:
"18:11:00" null
您可以安装 APOC procedures 并使用函数 apoc.date.parse
:
return apoc.date.parse('18:11:00','s','HH:mm:ss')
运行 这个例子的输出是:
╒════════════════════════════════════════════╕
│"apoc.date.parse("18:11:00",'s','HH:mm:ss')"│
╞════════════════════════════════════════════╡
│65460 │
└────────────────────────────────────────────┘
第一个参数是要解析的date/time。第二个参数是目标时间单位。在本例中,我指定了秒数 (s
)。第三个参数表示第一个参数的date/time格式。
注意:记得根据你使用的Neo4j版本安装APOC程序。看看 version compatibility matrix.
如何在 Neo4j 中将字符串时间转换为整数。我已经尝试了很长时间,但似乎没有任何明确的解决方案。我发现唯一的解决方案是在从 CSV 加载节点时向我的节点添加一个新的 属性。我不想这样做。
我有以下格式的时间:
"18:11:00"
我想对它们做一些减法。
我尝试执行以下操作但无济于事:
match (st1:Stoptime)-[r:PRECEDES]->(st2:Stoptime)
return st1.arrival_time, toInt(st1.arrival_time)
limit 10
但我得到以下输出:
"18:11:00" null
您可以安装 APOC procedures 并使用函数 apoc.date.parse
:
return apoc.date.parse('18:11:00','s','HH:mm:ss')
运行 这个例子的输出是:
╒════════════════════════════════════════════╕
│"apoc.date.parse("18:11:00",'s','HH:mm:ss')"│
╞════════════════════════════════════════════╡
│65460 │
└────────────────────────────────────────────┘
第一个参数是要解析的date/time。第二个参数是目标时间单位。在本例中,我指定了秒数 (s
)。第三个参数表示第一个参数的date/time格式。
注意:记得根据你使用的Neo4j版本安装APOC程序。看看 version compatibility matrix.