Kdb 当没有匹配的行时更新列类型

Kdb 当没有匹配的行时更新列类型,kdb,k,Kdb,K,但是q如何知道在update表达式中没有任何匹配行(其中a=3)的列b中它应该是什么类型呢?它从您的语句中推断类型,不管是否有匹配。它接受为列指定的任何类型的null 如果有匹配,也是一样的: "b" ~ meta[update b:1b from ([]a:1 2) where a=3][`b;`t] 它用您的值填充匹配项,但非匹配项会为该数据类型获取相应的null。布尔值是灰色区域,因为技术上不存在空值,但0b是假定的空布尔值 q)update b:.z.D from

但是
q
如何知道在
update
表达式中没有任何匹配行(
其中a=3
)的列
b
中它应该是什么类型呢?

它从您的语句中推断类型,不管是否有匹配。它接受为列指定的任何类型的null

如果有匹配,也是一样的:

"b" ~ meta[update b:1b from ([]a:1 2) where a=3][`b;`t]
它用您的值填充匹配项,但非匹配项会为该数据类型获取相应的null。布尔值是灰色区域,因为技术上不存在空值,但
0b
是假定的空布尔值

q)update b:.z.D from ([]a:1 2) where a=2
a b
------------
1
2 2021.05.14