2017-06-15 137 views
2

我有一个有许多列的表。我试图从其中一列获取数据并将其作为字符串返回。在kdb中存储一个字符串作为字符串

举例来说,如果我有:

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

我想借此列B和存储258作为一个字符串。 我该怎么做?

回答

2

是否这样?

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

如果你的所有条目的个位数,所有你需要做的是

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

如果要将字符串存回表格,只需使用update

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