KDB WHERE子句列表中的连字符

时间:2017-08-03 12:06:18

标签: where-clause kdb

我试图在KDB WHERE IN列表中列出带连字符的条件。单个(非连字符)术语工作得很好但是当我需要在字面上有一个连字符时,KDB不喜欢它。我试过在逗号分隔列表中引用字符串,但这似乎也不起作用。

这很好用:

where product in (`CD`MUNICIPAL)

这给了我一个错误:

where product in (`TREASURY-NOTE`TREASURY-BOND`TREASURY-TIPS)

错误:

'TIPS

这就是我尝试但没有运气的行为:

where product in ("TREASURY-NOTE","TREASURY-BOND","TREASURY-TIPS")

1 个答案:

答案 0 :(得分:3)

因为" - "是一个特殊字符,您需要在转换为符号之前将它们声明为字符串。

where product in `$("TREASURY-NOTE";"TREASURY-BOND";"TREASURY-TIPS") 

你也可以使用"喜欢"这允许你使用一些基本的正则表达式:

where product like "TREASURY*"