Cond (triad $) 不适用于 KDB Q 中的月份条件

Cond (triad $) not working with a month condition in KDB Q

这个基本条件有效:

$[8i > 3i ; true;false]

但这不是:

$[mm$.z.d > 3i ; true;false]

我不明白为什么,因为 mm$.z.d (current month)8i

kdb 从右到左读取,因此它比较

.z.d>3i 

在它进入月份之前。您需要先使用括号强制转换

q)$[(`mm$.z.d) > 3i ;`true;`false]
`true

或者更好的是,重构您的语句以允许从右到左

q)$[3i<`mm$.z.d;`true;`false]
`true