如何处理潜在的空值在一个sort_by?



我有一个像这样的对象数组:

{
"openingDates": [
{
"location": "Main St.",
"openingDate": "2023-01-09T00:00:00Z"
},
{
"location": "Northwood Park",
"openingDate": "2006-01-10T00:00:00Z"
}
]
}

我有一个表达式按openingDate排序,然后得到openingDate值:

sort_by(openingDates, &openingDate)[0].openingDate

然而,openingDates可能是null,如果我试图在其上运行排序,这显然会导致错误。是否有一种方法来防止排序在我的表达式,如果值是null?

问题来自sort_by将只接受第一个参数为数组的事实。

也就是说,to_array函数可以帮助您做一个null值的数组,因为to_array(null)将给您[null].
并且,使用包含null的数组,您的进一步查询将返回openingDatenull,如预期的那样。

,

{}

和查询

sort_by(to_array(openingDates), &openingDate)[0].openingDate

这将产生

null

仍然会给

"2006-01-10T00:00:00Z"

在您的示例对象上。

相关内容

最新更新