如何在kdb中创建带符号的字符串/列表?为表字符串列添加`前缀
问题1:如何在kdb中创建包含符号的字符串或字符串列表?
这里有几种实用的方式来实现:
- 直接定义转义字符串:kdb中反引号需要用双反引号转义,直接写字面量就能得到带`的字符串,列表用分号分隔即可:
singleStr: "\`a" // 结果为 "`a" strList: ("\`a";"\`b";"\`c") // 结果为 ("`a";"`b";"`c") - 从符号类型转换:如果已经有符号列表,直接用
string函数转换,会自动给每个符号加上`前缀:symList: `a`b`c strFromSym: string symList // 结果为 ("`a";"`b";"`c") - 拼接前缀到普通字符串:如果是普通字符串(比如"a"),可以用字符串拼接操作给它加`前缀:
baseStr: "a" prefixedStr: "`" , baseStr // 结果为 "`a" // 列表版本 baseStrList: ("a";"b";"c") prefixedStrList: "`" ,/: baseStrList // 结果为 ("`a";"`b";"`c")
问题2:为表中字符串列添加`前缀生成新列
假设你的表名为t,字符串列名为origCol,可以用update语句结合逐元素拼接操作快速生成新列,直接看示例:
首先创建测试表:
t: ([] origCol: ("a";"b";"c"))
执行更新语句,新增prefixedCol列:
t: update prefixedCol: "`" ,/: origCol from t
执行后表t的内容会变成:
origCol prefixedCol ------------------- a "`a" b "`b" c "`c"
这里的,/:是逐元素拼接操作,会把""前缀加到origCol的每一个字符串元素前面,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Deb
相关产品推荐
相关产品推荐

