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 リレーションをランタイム日付に置き換えたいと考えています。

like 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 によって提供されたコード スニペットを使用して、Year Month、date のノードを作成します。b) データに従ってケース条件内で MM-DD-YY (数値) から DD-MON-YY に変更することを忘れないでください。

Alan Robertson が投稿のコメントで指摘しているように、多くのスペースを占有しないデータベースに数千のノードを作成する必要がある場合でも、neo4j が私たちのような初心者にとってより適切に機能することを理解するための優れた方法です。

これは最適な答えではないかもしれませんが、差し迫った問題から抜け出すのに役立つかもしれません.

最良の代替手段は、ここでMichael Hunger によって提供されています。これを行う方法の 1 つは、日付の UNIX エポックである追加のプロパティを作成し、値を 86400 で割って日付の解像度を取得することです。その後、日付操作を行うことができます。

于 2014-12-02T14:38:54.693 に答える