You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Memgraph中使用LOAD CSV和date()函数处理空值问题

解决Memgraph导入CSV时日期格式错误的问题

要处理endDate列的空值和格式错误,同时保留所有记录,你可以用Memgraph的TRY()函数来捕获转换异常:

方案1:将非法/空值设为NULL(推荐)

这种方式会保留合法日期的date类型,非法值设为NULL,不会中断导入流程:

LOAD CSV FROM "file:///imports/mydata.csv" WITH HEADER AS row
CREATE (c: Thing {
    id: row.id,
    endDate: TRY(date(row.endDate))
})

TRY()函数会尝试执行date(row.endDate)转换,成功则返回解析后的日期,失败(空值或格式错误)则返回NULL,所有记录都会被正常创建。

方案2:标记错误值为特定字符串(可选)

如果需要明确标记错误的日期值,可以用CASE语句自定义结果(注意:这会让endDate字段同时存在date和字符串类型,不推荐用于后续日期相关查询):

LOAD CSV FROM "file:///imports/mydata.csv" WITH HEADER AS row
CREATE (c: Thing {
    id: row.id,
    endDate: CASE
        WHEN TRY(date(row.endDate)) IS NOT NULL THEN date(row.endDate)
        ELSE "invalid_date"
    END
})

补充说明:你数据里的20231008(YYYYMMDD格式)和2023-10(YYYY-MM格式)其实符合Memgraph支持的日期规范,date()函数可以正常解析,主要需要处理的是空值和其他非标准格式的内容。

内容的提问来源于stack exchange,提问作者CharlesTheMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 14:25:00