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

标签 sql-update kdb q

我有一个这样的表:

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

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

关于sql-update - 更新符号长度小于 3 个字符的位置 KDB+/Q,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70669178/

相关文章:

stock - 如何将 tic 数据转换为 5 分钟 OHLC?

javascript - 如何在promise链中调用Q promise notify

mysql - 阻碍构建这个跨数据库查询

sqlite - 从 SQLite 中的另一个表更新单个指定值

kdb - KDB 中的正则表达式左连接

casting - KDB+ 将符号转换为字符

mysql - 如何通过一个查询更新多行?

MySQL 更新运行最大值

javascript - 一个接一个地解决 promise (即按顺序)?

javascript - 如果我在 Kriskowal 的 q 中多次拒绝/解决会发生什么?