【发布时间】:2015-12-04 18:34:35
【问题描述】:
我在一个集合中有许多项目,它们都有一个 dateDue 字段。有些将此 dateDue 字段设置为 ISO8601 日期,有些则为 null,而另一些则为空字符串。我想做以下事情:
filter DATE_COMPARE(DATE_NOW(), dateDue, "years", "days")
但是,如果 dateDue 为 null 或空白字符串,则会引发错误。我可以添加这个来解决它:
filter w.dateDue != null and w.dateDue != ""
filter DATE_COMPARE(DATE_NOW(), dateDue, "years", "days")
但这仅涵盖空值和空白字符串。当然这可能就足够了,但我想确保排除任何没有 dateDue 字段有效日期的记录。我期待看到 Arango 的 IS_DATE 函数,但我在手册中的任何地方都找不到。有什么想法吗?
【问题讨论】:
-
DATE_TIMESTAMP不会抛出无效的 iso8601 日期,而是返回 null 并给出警告:return DATE_TIMESTAMP("2015-50-04T04:44:42.505Z") != null另一种方法可能是编写自定义 aql 函数isNaN(new Date("2015-50-04T04:44:42.505Z"))我不确定是否存在更好的方法
标签: validation date arangodb