5

我需要查询一个包含公司名称的数据库。我有大约 50 个名字的列表,我必须为此获取数据。但是我无法使用 in 命令编写查询,因为名称中存在无法识别的空格。前任

select from sales where name in (`Coca Cola, `Pepsi)

这给了我一个错误,因为“可乐”没有被识别。有没有办法编写这样的查询?

4

2 回答 2

3

字符串之间的空格会导致解释器感到困惑。`$() 将字符列表转换为符号。

q)t:([] a:1 2 3; name:`$("coca cola";"pepsi";"milk"))

q)select from t where name in `$("coca cola";"pepsi")
a name
-----------
1 coca cola
2 pepsi

您可能还需要注意大小写,并始终使用小写或大写,否则会导致意外的空结果:

q)select from t where name in `$("Coca Cola";"Pepsi")
a name
------

q)select from t where upper[name] in upper `$("Coca Cola";"Pepsi")
a name
-----------
1 coca cola
2 pepsi
于 2013-04-02T17:46:59.283 回答
0

您需要执行以下操作:

select from sales where name in `$("Coca Cola";"Pepsi")
于 2013-04-02T16:54:40.497 回答