在 kdb 中将列存储为字符串

Store a column as a string in kdb

我有一个包含许多列的 table。我正在尝试从其中一列中获取数据并将其 return 作为字符串。

例如,如果我有:

A B C
1 2 3
4 5 6
7 8 9

我想取 B 列并将 258 存储为字符串。 我该怎么做?

像这样?

q)raze exec string B from ([] A:1 4 7;B:2 5 8;C:3 6 9)
"258"

或者您是否正在尝试更改 table 中的列类型?

q)update string B from ([] A:1 4 7;B:2 5 8;C:3 6 9)
A B    C
--------
1 ,"2" 3
4 ,"5" 6
7 ,"8" 9

如果您所有的输入都是个位数,您需要做的就是

.Q.n t.B

以你的数据为例,

q)show t:([] A:1 4 7;B:2 5 8;C:3 6 9)
A B C
-----
1 2 3
4 5 6
7 8 9
q).Q.n t.B
"258"

请注意 .Q.n 只是一个包含 10 位数字的字符串:

q).Q.n
"0123456789"

如果要将字符串存储回 table,只需使用 update:

q)update .Q.n B from `t
`t
q)t.B
"258"