如何在 KDB table 列中填充空值?
How to fill nulls in a KDB table column?
q)t:flip `name`iq!(`Dent``Prefect;98 32 34)
q)t
name iq
----------
Dent 98
32
Prefect 34
如何形成一个条件查询来作用于列 name
q)select case when name is null then `Empty else name ,iq from t
预期输出:
name iq
----------
name iq
Dent 98
Empty 32
Prefect 34
您可以使用填充 ^ 来替换空值
q)update `Empty^name from t
name iq
----------
Dent 98
Empty 32
Prefect 34
也可以将 https://code.kx.com/q/ref/lists/#vector-conditional 用作基于表达式的列的方法:
q)select ?[null name;`Empty;name],iq from t
name iq
----------
Dent 98
Empty 32
Prefect 34
除了上述答案之外,您还可以使用 update
语句中的 where
来完成此操作:
q)update name:`Empty from t where null name
name iq
----------
Dent 98
Empty 32
Prefect 34
q)t:flip `name`iq!(`Dent``Prefect;98 32 34)
q)t
name iq
----------
Dent 98
32
Prefect 34
如何形成一个条件查询来作用于列 name
q)select case when name is null then `Empty else name ,iq from t
预期输出:
name iq
----------
name iq
Dent 98
Empty 32
Prefect 34
您可以使用填充 ^ 来替换空值
q)update `Empty^name from t
name iq
----------
Dent 98
Empty 32
Prefect 34
也可以将 https://code.kx.com/q/ref/lists/#vector-conditional 用作基于表达式的列的方法:
q)select ?[null name;`Empty;name],iq from t
name iq
----------
Dent 98
Empty 32
Prefect 34
除了上述答案之外,您还可以使用 update
语句中的 where
来完成此操作:
q)update name:`Empty from t where null name
name iq
----------
Dent 98
Empty 32
Prefect 34