如何在KDB中使用.year内部函数?

时间:2014-04-16 18:27:33

标签: kdb q-lang

我想使用点符号来提取日期年份。

q) myDate:2014.01.01;
q) myDate.year
2014i           / works OK

但在函数内部时,

f:{[x] :x.year};
f[myDate]

我收到错误(我使用Studio for KDB +)

An error occurred during execution of the query.
The server sent the response:
x.year

出了什么问题?

1 个答案:

答案 0 :(得分:5)

根据this page on code.kx,这种行为是q的怪癖。要解决这个问题,您可以使用强制转换功能。

q)f:{[x] :`year$x}
q)f[myDate]
2014i