在Memgraph MAGE中使用时间类型排序遇类型比较未处理错误
Memgraph 2.0.0 DATE类型排序报错解决方案
在Docker中运行Memgraph 2.0.0版本的Memgraph MAGE时,执行包含DATE类型属性排序的查询出现错误。
执行的查询语句
CREATE({a: DATE('2023-01-15')}), ({a: DATE('2023-01-05')}), ({a: DATE('2023-02-01')}) MATCH (n) RETURN n.a ORDER BY n.a
错误日志信息
[2023-02-14 10:05:17.354] [memgraph_log] [critical] 未处理的类型比较
解决办法
- 升级版本:Memgraph 2.0.0存在DATE类型比较与排序的bug,升级到2.0.1及以上版本即可直接解决该问题。
- 临时替代方案(不升级时):将DATE类型转换为可比较的类型后再排序:
- 转换为时间戳排序:
MATCH (n) RETURN n.a ORDER BY DATE_TO_EPOCH(n.a) - 转换为字符串排序(DATE的字符串格式为ISO标准,排序结果与日期顺序一致):
MATCH (n) RETURN n.a ORDER BY TO_STRING(n.a)
- 转换为时间戳排序:
内容的提问来源于stack exchange,提问作者Juliette Gia
相关产品推荐
相关产品推荐

