【问题标题】:kdb: filter table match symbol column: ~ vs =kdb:过滤表匹配符号列:~ vs =
【发布时间】:2021-01-28 05:55:03
【问题描述】:

对于用于过滤符号列的where 子句,= 可以正常工作,但为什么匹配运算符~ 不起作用?

q)t:([sym:`aa`bb]qty:20 30)

q)t
sym| qty
---| ---
aa | 20
bb | 30

q)select from t where sym=`aa
sym| qty
---| ---
aa | 20

q)select from t where sym~`aa
sym| qty
---| ---

【问题讨论】:

    标签: kdb


    【解决方案1】:

    Match 将 `aa 与整个符号列进行比较,其中 equals 与每个元素进行比较

    q)`a=`a`b`c
    100b
    q)`a~`a`b`c
    0b
    

    你可以的

    q)select from t where sym~\:`aa
    sym| qty
    ---| ---
    aa | 20
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多