输入:
姓名 | 数学 | 科学 |
---|---|---|
德纳 | 95 | |
卡兰 | 90 | 97 |
杰克 |
我们需要在 KDB qsql 中动态地将值从 null 更新为 0。 我想在 KDB 中使用功能性 qsql 查询。
预期输出:
姓名 | 数学 | 科学 |
---|---|---|
德纳 | 95 | 0 |
卡兰 | 90 | 97 |
杰克 | 0 | 0 |
此查询适用于上面的示例:
show t: flip `Name`Maths`Science!((`Dena; `Karansingh; `Jack); (95 90 0N); (0N 97 0N))
但它对主题(数学和科学)进行了硬编码。我不想对查询中的主题进行硬编码,因为将来可能会有不同的主题(例如历史和计算机)。我怎样才能动态地做到这一点?
相关功能q-sql:
![t;();0b;{x!(^;0),/:x}`Maths`Science]
或者使用
@
而不使用 q-sql:
@[t;`Maths`Science;0^]
您还没有发布示例查询,但如果您需要帮助来确定功能 q-sql 中的需求,那么
parse
可能会有所帮助:
q)parse"update 0^Maths,0^Science from t"
!
`t
()
0b
`Maths`Science!((^;0;`Maths);(^;0;`Science))
这两种方法都允许使用可变的列名称。