Neo4J 3.4 "日期"功能如何工作?



我将 Neo4J v3.3 升级到 v3.4 以尝试新的空间和时间功能。

我正在尝试非常简单的查询。一次带有日期函数,一次没有。结果是不同的。

match (r:Model) where r.open_date>"2018-04-26" return count(r);

结果是 19283。

match (r:Model) where r.open_date>date("2018-04-26") return count(r);

结果为 0。

使用新功能的方式是什么?

[已编辑]

新的时态类型,如DateDuration,是非常特殊的类型,将它们直接与字符串或数字进行比较是没有意义的。

假设r.open_date具有正确的格式,这应该可以工作:

MATCH (r:Model)
WHERE DATE(r.open_date) > DATE("2018-04-26")
RETURN

此外,以下查询的性能可能更高(因为不需要构造第二个 DATE 对象(:

MATCH (r:Model)
WHERE TOSTRING(DATE(r.open_date)) > "2018-04-26"
RETURN

相关内容

最新更新