相同类型的列,但在kdb中输出不同的空值

相同类型的列,但在kdb中输出不同的空值,kdb,Kdb,我使用lj连接两个表,当我试图比较是否有任何差异时,我注意到同一类型的null有两个不同的输出 meta tab `cumQty "i" ` ` `cumQty "i" ` ` tab: "x0" 0j 0Nj "x2" 0j 0Nj "x4" 0j 0Nj "x6" 0j 0Nj 你知道为什么会这样吗?我试图将最后一列强制转换为int,但仍然是一样的:最后一列总是带有N 有什么解决办法吗?您能提供一个数据示例表吗 上面示例中的0j看起来像long

我使用lj连接两个表,当我试图比较是否有任何差异时,我注意到同一类型的null有两个不同的输出

meta tab
`cumQty "i" `   `
`cumQty "i" `   `


tab:

"x0"    0j  0Nj
"x2"    0j  0Nj
"x4"    0j  0Nj
"x6"    0j  0Nj
你知道为什么会这样吗?我试图将最后一列强制转换为int,但仍然是一样的:最后一列总是带有N


有什么解决办法吗?

您能提供一个数据示例表吗

上面示例中的0j看起来像long j类型的零值,而不是null long值,即0Nj

将最后一列强制转换为任何其他类型会将该列更改为该列的null类型,即从null long强制转换为null int

q)0N 0N 0N 0Nj
0N 0N 0N 0N
q)`int$0N 0N 0N 0Nj
0N 0N 0N 0Ni

“N”表示空值,列表末尾的小字符i或j分别表示列表数据类型int和long;有关更多信息,请参见此处

当对空值列表求和时,将得到0

q)sum 0N 0N 0N 0Nj
0
执行lj时,对于不在右侧表中的ID,它将返回null

这是你的问题吗


需要更多信息来进一步解释你所看到的。

你好,特里。你能举个例子吗?我模拟的数据可能与真实数据不同。但这就是我加入a:0的方式!从日期为2017.06.26的父级选择按id求和累计数量lj从日期为2017.06.26的子级选择子级:按id求和累计数量odPOrID,然后从非累计数量为子级的子级运行选择