1
START customerName=node(483), b = node(485, 498, 500)
MATCH customerName-[s:Sell]->b
WITH s.transactionDate AS date, customerName, b, sum(s.transactionAmount) AS total 
CREATE customerName-[:sales_summary { date:date, tamt:total }]->b

在这里,我想使用 MMM YY 格式将 sales_summary 关系替换为运行时日期。

像 customerName - Sep 08 (tamt = total) -> b here edge name = Sep 08 -- 从日期开始的运行时值

4

2 回答 2

1

Cypher 本身没有日期操作方法。您可能希望将关系上的日期设置为 long,然后在您的演示文稿代码中格式化 MMM YY,无论如何这在数据库中的性能要高得多。

于 2013-09-26T11:46:20.753 回答
0

我面临着类似的挑战。对于 TO_DATE(node.Date_value) > TO_DATE('01-JAN-09','DD-MON-YY') 或类似的 SQL 等效项。

我想目前我们可能必须经过以下步骤:

a) 使用Mark Needham在此处提供的代码片段为年月、日期创建节点。b) 请记住根据您的数据在案例条件内将 MM-DD-YY(数字)更改为 DD-MON-YY。

正如 Alan Robertson 在帖子评论中指出的那样,对于像我们这样的新手来说,这也是了解 neo4j 更好地运行的一个很好的方法,即使它可能需要在数据库中创建几千个不占用太多空间的节点。

这可能不是最佳答案,但可能有助于摆脱眼前的问题。

最好的选择是由 Michael Hunger 在此处提供的。一种方法是创建一个额外的属性,它是日期的 unix 纪元,然后将值除以 86400 以获得当天的分辨率。此后,可以进行日期操作。

于 2014-12-02T14:38:54.693 回答