我试图使用以下查询将csv文件加载到neo4j中:
:auto
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///test.csv' AS row
MERGE (news:newsID {newsID: row.id})
ON CREATE SET
news.title = row.title,
news.creation_date = row.creation_date,
news.content = row.content;我想把creation_date转换成日期时间
我可以这样做,比如:
WITH apoc.date.parse("2019-3-8 12:10:11", "ms", "yyyy-MM-dd HH:mm:ss") AS ms
RETURN datetime({epochmillis: ms}) as cdate但是我不能在LOAD CSV集合部分使用它。
如何使用apoc.date.parse和LOAD CSV中的日期时间转换字段?
发布于 2020-05-29 02:55:50
Neo4j可以自动解析各种各样的字符串格式到时间瞬间 (如datetime)。您只需使用支持的字符串格式即可。
虽然您的示例字符串("2019-3-8 12:10:11")不受支持,但将日期和时间之间的空格字符替换为"T“将有效。
例如,尝试如下:
RETURN datetime("2019-3-8T12:10:11");因此,如果您的creation_date属性值具有受支持的格式,这将有效:
:auto
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///test.csv' AS row
MERGE (news:newsID {newsID: row.id})
ON CREATE SET
news.title = row.title,
news.creation_date = datetime(row.creation_date),
news.content = row.content;或者,如果您希望保留现有的CSV文件,并且假设它的creation_date字符串只有一个空格字符,则可以这样做:
:auto
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///test.csv' AS row
MERGE (news:newsID {newsID: row.id})
ON CREATE SET
news.title = row.title,
news.creation_date = datetime(REPLACE(row.creation_date, ' ', 'T')),
news.content = row.content;https://stackoverflow.com/questions/62075945
复制相似问题