我使用lj连接两个表,当我尝试比较是否存在任何差异时,我注意到同一类型的空值有两个不同的输出。
meta tab
`cumQty "i" ` `
`cumQty "i" ` `
tab:
"x0" 0j 0Nj
"x2" 0j 0Nj
"x4" 0j 0Nj
"x6" 0j 0Nj
你知道为什么会这样吗?我试图将最后一列转换为int但仍然是相同的事情:最后一列总是带有N。
有没有解决方案?
答案 0 :(得分:1)
您能提供样本数据表吗?
上面示例中的 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
);请点击此处了解更多code.kx DataTypes
答案 1 :(得分:0)
当您对空值列表求和时,您将得到0。
q)sum 0N 0N 0N 0Nj
0
当你执行lj时,对于不在右表中的id,它将返回null
这是你的问题吗?
需要更多信息来进一步说明您所看到的内容。