小编AFo*_*Fox的帖子

如何在选择中紧凑地使用多个或多个

说我有一张桌子

tbl:([]a:`XXY`XXZ`XZZ`XYZ)

q)tbl
a  
---
XXY
XXZ
XZZ
XYZ
Run Code Online (Sandbox Code Playgroud)

我想选择像" XX "或" ZZ " 这样的行

有没有比写作更紧凑的方式

select from tbl where (a like "*XX*")|(a like "*ZZ*")
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想将所有或选项存储在变量中,然后将其传递给选择.

我已尝试使用功能选择,但只能使其适用于单个或仅以下面的形式.

q)c:(like;`a;enlist "*XX*")
::
q)?[tbl;enlist c;0b;()]
a  
---
XXY
XXZ
Run Code Online (Sandbox Code Playgroud)

而不是在c 中设置登记" XX ",我可以创建一个表或列表,然后将其传递给c吗?

谢谢

kdb

2
推荐指数
1
解决办法
81
查看次数

如何在q中过滤或搜索嵌套列表

说我有一个清单

list:(`a`b;`ac`d;`e`af)
Run Code Online (Sandbox Code Playgroud)

我想搜索所有符号喜欢a

(`a;`ac;`af)
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?

如果我尝试使用

list where each list like "*c*" 
Run Code Online (Sandbox Code Playgroud)

(没有每个都适用于平面列表)我收到一个type错误

谢谢

kdb

1
推荐指数
1
解决办法
187
查看次数

标签 统计

kdb ×2