作为普通 qSQL 查询的示例,我们将编写:
select from table where sym like "temp*"
选择 `sym 列中以“temp*”开头且后跟任意字符序列的任何元素。
我们如何以函数形式编写它?这纯粹是为了我正在完成的一项作业任务,它要求我使用函数形式重新编写函数。
?[trade; enlist(like;`newCol;($:;enlist`ABC)); 0b; ()]
这在 KX Academy Jupyter Notebook 中效果很好,但是,这没有考虑通配符。
我解析的 select 语句返回给我:
?
`table
,,(';(like;`sym);(*;`temp))
0b
()
但是,我不明白如何写这个,在网上找不到任何东西。请帮忙。
当我运行该语句时:
我得到:
这相当于:
您确定您已经正确解析了最初的语句吗?
构建查询时,您可以使用反斜杠转义引号字符,以允许解析您的查询:
这将形成:
kx 有一个很好的脚本,它有助于形成功能选择:
https://code.kx.com/q/wp/parse-trees/#appendix