更新符号长度小于 3 个字符的位置 KDB+/Q

update where symbol length less than 3 characters KDB+/Q

我有一个 table 这样的:

test:([]column1:`A`B`C`D`E;column2:`Consumer`RealEstate`27`85`Technology)

我需要编写一个更新查询,其中 column2 的字符数为 2 或更少,但我找不到任何方法来引用要在 where 子句中使用的符号的字符长度。我该如何编写这样的查询才能得到以下结果?

test:([]column1:`A`B`C`D`E;column2:`Consumer`RealEstate`NewCategory`NewCategory`Technology)

完成所需任务的一种方法是将符号转换为字符串(即字符列表)并将 where 子句应用于每个字符串的计数:

update column2:`NewCategory from `test where 3>count each string column2

(假设您要就地应用更改,请在此处对 table 名称使用反引号)

另一种选择是使用 vector conditional

update column2:?[3>count each string column2;`NewCatergory;column2] from test