KDB/q 如何使用qsql select语句在列表中查找类型为字符列中的空列表的项目?

问题描述 投票:0回答:1

我有一个表并将其传递到一个函数中,我在其中使用主 ID 生成一列字符。

但是,在这个新创建的列中有一些区域,其中不是字符而是空列表:()

当我检查类型时,字符和空列表都列为类型 10h。

我正在尝试创建一个选择语句,仅获取值为 () 的主 ID 和此列。

我尝试了这些,但它们都给了我“长度错误:”

select ID, Names from x where Sedol = (); select ID, Names from x where Sedol = "()"; select ID, Names from x where type Sedol = 10h; select ID, Names from x where type Sedol = 0h;
很想知道你们中是否有人对此有任何见解?是否可以在一列中按类型进行选择?

types kdb qsqlquery
1个回答
0
投票
样本表:

t:([] Sedol:("aa";"bb";();"cc")) t Sedol ----- "aa" "bb" () "cc"
搜索

0h

类型:(必须使用
each
来测试每一行)

select from t where 0h=type each Sedol Sedol -----
精确搜索

()


select from t where Sedol~\:() Sedol -----

  • ~
     匹配 
    https://code.kx.com/q/ref/match/
  • \:
     是each-left 
    https://code.kx.com/q/ref/maps/#each-left-and-each-right
© www.soinside.com 2019 - 2024. All rights reserved.