我正在运行一个没有当前日期值的查询,我尝试了ifmissing()函数来获取列名,但在某些情况下不起作用,我不知道原因。
我的问题是:
SELECT SPLIT(DATE_ADD_STR(SPLIT (ev. auditDetail.createTime,'.')[0],7,‘hour'),‘T') [0],
ADD (TONUMBER(SPLIT(SPLIT (ev.auditDetail.createTime, 'T')[1], ‘:')[0]),7) AS HOUR,
COUNT (*) AS COUNT
FROM data_KH ev
WHERE type_ = ‘user’
AND DATE_ADD_STR(SPLIT (ev. auditDetail.createTime,‘.')[0],7,‘hour’) >
CLOCK_TZ (‘Asia/Bangkok', '1111-11-11‘)
AND SPLIT (loginId,‘@‘)[1] NOT IN [‘yopmail.com', ‘ymail.com', ‘accoliteindia.com']
GROUP BY SPLIT (DATE_ADD_STR(SPLIT(ev. auditDetail.createTime,'.')[0],7,'hour'),‘T‘) [0],
ADD (TONUMBER (SPLIT (SPLIT (ev.auditDetail.createTime, ‘T')[1], ‘:')[0]),7)
ORDER BY SPLIT (DATE_ADD_STR(SPLIT (ev. auditDetail.createTime,'.')[0],7,'hour'),‘T') [0],
ADD (TONUMBER (SPLIT (SPLIT (ev. auditDetail.createTime, 'T')[1], ':')[0]),7)
2条答案
按热度按时间3ks5zfa01#
子查询结果是数组,如果没有结果,则长度为0(不丢失)。子查询结果上存在/不存在。因为您也需要结果,不希望重复查询两次。您也可以使用以下方法。
cb 6.5或以上
cb 6.50之前
您也可以使用str\u to \u tz(ev.auditdetail.createtime,“亚洲/曼谷”)代替date\u add \u str(split(ev.auditdetail.createtime,“.”[0],7,“hour”)https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/datefun.html
jtw3ybtb2#
我已经修改了主查询有子查询,并创建了静态结果,如果没有在主查询中找到结果