(q / kdb +) Удалить столбец из таблиц, сохраненных на диске - PullRequest
0 голосов
/ 25 октября 2018

У меня есть следующая таблица, сохраненная на диске

`:t/ upsert ([] v1:10 20 30; v2:1.1 2.2 3.3; v3:1 2 3)

как я могу удалить столбец v3, например?

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Следующее должно работать

`:t/ set delete v3 from t

0 голосов
/ 25 октября 2018

dbmaint.q - это еще одна опция: https://github.com/KxSystems/kdb/blob/master/utils/dbmaint.q

Для этой цели предусмотрена функция delete1col.Это можно использовать так:

delete1col[tabledir;col]

, в вашем случае это будет:

delete1col[`:t/;`v3]

Этот сценарий также включает целый ряд других функций, которые могут оказаться полезными в будущем.

0 голосов
/ 25 октября 2018

Эта строка должна достичь того, что вы хотите сделать:

`:/t/.d set `v1`v2

Кроме того, вам следует удалить файл v3.

Надеюсь, это поможет!

...