根据char数组列的值进行选择 - KDB

时间:2013-07-26 10:17:40

标签: kdb

我有一个像这样构建的表:

tab: ([]col1:();col2:())
`tab insert (`testsym; "testchararr")

我现在想要选择col2具有值"testchararr"的行。我试过这样:

select from tab where col2 = "test"

但这总是会返回'length错误。

如何根据char数组的值进行查询?感谢

2 个答案:

答案 0 :(得分:5)

使用“喜欢”或副词。 e.g。

q)select from tab where col2 like "testchararr"
col1    col2
---------------------
testsym "testchararr"

q)select from tab where col2~\:"testchararr"
col1    col2
---------------------
testsym "testchararr"

q)select from tab where col2 like "test"
col1 col2
---------

q)select from tab where col2~\:"test"
col1 col2
---------

我建议检查每种方法的速度。有关qsql的更多示例,请参阅: http://www.timestored.com/b/forums/topic/string-functions-like-search-replace-regex/

答案 1 :(得分:1)

想出了这个:

我需要使用like代替=

select from tab where col2 like "test"