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
这个基本条件有效:
$[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