の日付がMM/DD/YYYYまたはYYYYのいずれかで表示される列は、次のように同じ列内で日付が2つの可能な方法で表されるcsvを持っています。Neo4j
- MM/DD/YYYY
又は
- YYYY
2番目の形式は、MM/DDが不明な場合にデータ入力を行う他の人が使用します。
月、日、年をノードの個別のプロパティとして抽出したいと思います。
私が書いた:最初のケース(MM/DD/YYYY)のために正常に動作しますが、ちょうどYYYYと下回っ
LOAD CSV WITH HEADERS FROM
'file:///...some_csv.csv' AS line
WITH
line
MERGE (p:Person {
subject_person_id: line.subject_person_id
})
ON CREATE SET p.month_of_birth = SPLIT(line.date_of_birth, '/')[0]
ON MATCH SET p.month_of_birth = SPLIT(line.date_of_birth, '/')[0]
を。その2番目のケースでは、月はYYYYに設定されています。これは、それが0番目の要素だからです。
私は、日付形式が存在するいくつかのテストが必要であり、その結果に応じて条件付きでSETを実行する必要があると考えていますか?
私はFOREACH
の構文を見ましたが、それを適用しようとしましたが、正しいアプローチではありませんでした。誰にもアドバイスはありますか?ありがとう!
「N/A」ケースを含める理由はありますか?後で削除する必要がある唯一の理由は、「ELSE」を使用することを選択したためです。 ELSEを離れると、物事を簡素化し、最後のステップをスキップできるようです。 –