首页 > 解决方案 > 根据其他列的值设置 Kdb 表中所有记录的值

问题描述

我需要对 KDB 表执行全局更新以更新两列。对于 FirstName 列,我想删除 SecondName 列中具有空字符串的记录的值,对于 FullName 列,我想用表中所有行的空格替换编码分隔符。

如果有帮助,则无需在单个更新语句中完成这些操作。

update
    FirstName:$[SecondName like ""; FirstName; ""],
    FullName[FullName; " "; " "]
    from table
    }

我在语法上苦苦挣扎 - 以上是我最好的尝试,但它不起作用。

标签: kdb

解决方案


在单一更新语句中实现这一目标的一种方法:

q) update FirstName:?[SecondName like ""; SecondName;FirstName], FullName:ssr[;" "; " "]@'FullName from table

推荐阅读