【发布时间】:2021-03-26 03:10:39
【问题描述】:
如何替换表格前n列的值?
即mycol:(1 2 3 4) 到 mycol:(a a 3 4)
提前谢谢你!
【问题讨论】:
标签: kdb
如何替换表格前n列的值?
即mycol:(1 2 3 4) 到 mycol:(a a 3 4)
提前谢谢你!
【问题讨论】:
标签: kdb
如果您要更新的是 mycol 中的值,那么它们需要与现有值的类型相同。见下文。
q)t:([]mycol:`$string 1+til 4;mycol2:til 4)
q)update mycol:`a from t where i<2
mycol mycol2
------------
a 0
a 1
3 2
4 3
解决这个问题的一种方法是enlistmycol,这样就可以进行任何类型的更新。
q)t:([]mycol:1+til 4;mycol2:til 4)
q)update mycol:`a from(update enlist each mycol from t)where i<2
mycol mycol2
------------
`a 0
`a 1
,3 2
,4 3
q)meta update mycol:`a from(update enlist each mycol from t)where i<2
c | t f a
------| -----
mycol |
mycol2| j
您的问题不清楚您是否希望更改列名或列值。如果是列名,可以使用xcol。
q)(2#`a)xcol([]w:3#til 3;x:3#.Q.a;y:`;z:0N)
a a y z
-------
0 a
1 b
2 c
【讨论】: