kdb: 过滤器 table 匹配符号列:~ vs =
kdb: filter table match symbol column: ~ vs =
对于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
---| ---
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
对于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
---| ---
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