2017-06-15 2 views
2

J'ai une table avec de nombreuses colonnes. J'essaie de prendre les données de l'une des colonnes et de les renvoyer sous la forme d'une chaîne.Enregistrer une colonne sous forme de chaîne dans kdb

Par exemple, si je devais:

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

Je voudrais prendre la colonne B et stocker 258 comme une chaîne. Comment ferais-je cela?

Répondre

2

Comme ça? Ou vous essayez de changer le type de la colonne dans le tableau?

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

Ou essayez-vous de changer le type de la colonne dans le tableau?

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

Si toutes vos entrées sont des nombres à un seul chiffre, tout ce que vous devez faire est

.Q.n t.B 

Prendre vos données à titre d'exemple,

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" 

Notez que .Q.n est simplement une chaîne contenant les 10 chiffres:

q).Q.n 
"" 

Si vous souhaitez stocker la chaîne dans la table, utilisez simplement update:

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