将列存储为kdb中的字符串

时间:2017-06-15 12:44:08

标签: kdb q-lang

我有一张包含众多列的表格。我正在尝试从其中一个列中获取数据并将其作为字符串返回。

例如,如果我有:

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

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

2 个答案:

答案 0 :(得分:3)

喜欢这个吗?

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

或者您是否尝试更改表格中列的类型?

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

答案 1 :(得分:2)

如果您的所有参赛作品都是单位数字,那么您需要做的只是

.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"

如果您想将字符串存储在表格中,请使用update

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