【发布时间】:2021-12-08 07:12:14
【问题描述】:
如何编写一个 couchbase 请求,以便选择第一个条件(如果它已定义)或第二个条件(如果第一个条件未定义)。
我试过类似的东西:
SELECT id FROM auto as a WHERE IFMISSINGORNULL(ARRAY_LENGTH(a.data[0])>1, ARRAY_LENGTH(a.data[1])>1)
在这个请求中,如果定义了 a.data[0],我想检查 a.data[0] 的长度,如果没有定义 a.data[0],我想检查 a.data[0] 的长度。数据[1]。
【问题讨论】:
-
有什么原因你不能写
WHERE (x = true AND foo) OR (x = false AND bar)形式的东西吗? -
类似于 ``` SELECT id FROM auto 作为 WHERE (a.data[0] IS NOT NULL AND ARRAY_LENGTH(a.data[0])>1) OR (a.data[0 ] 为空且 ARRAY_LENGTH(a.records[1].changes.update_date)>1) `` ??
-
那种形式的东西,是的。不过,我不太明白你为什么使用
ARRAY_LENGTH。也许最好先发布一个关于您要查询的新问题。