【发布时间】:2019-08-09 08:31:57
【问题描述】:
我有一个场景,我的 KDB 表中的数据在一个字符串中包含多个连续的星号字符,我需要能够搜索该字符串。假设我要搜索的字符串是foo**bar,我想写的查询是:
select from table where column like "foo**bar"
我需要转义 * 字符,但我在文档中找不到如何做到这一点。我已经尝试过反斜杠和其他几个变体但没有成功。想必这应该是可能的吧?
【问题讨论】:
标签: kdb
我有一个场景,我的 KDB 表中的数据在一个字符串中包含多个连续的星号字符,我需要能够搜索该字符串。假设我要搜索的字符串是foo**bar,我想写的查询是:
select from table where column like "foo**bar"
我需要转义 * 字符,但我在文档中找不到如何做到这一点。我已经尝试过反斜杠和其他几个变体但没有成功。想必这应该是可能的吧?
【问题讨论】:
标签: kdb
方括号与like 一起用作转义字符
"foo**bar" like "foo[*][*]bar"
这是来自Kx wiki的引用:
Special characters can be matched by bracketing them
【讨论】:
"[*]*" 来标记任何带有前导星的字段作为示例。
现在,您可以将re2 与 kdb+/q 一起使用。将始终建议为此任务使用一些标准正则表达式,而不是 like
【讨论】: