我需要查询包含公司名称的数据库。我有大约50个名字的列表,我必须获取数据。但我无法使用in命令编写查询,因为名称中的空格无法识别。前
select from sales where name in (`Coca Cola, `Pepsi)
由于“Cola”未被识别,这给了我一个错误。有没有办法写这样的查询?
答案 0 :(得分: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
答案 1 :(得分:0)
您需要执行以下操作:
select from sales where name in `$("Coca Cola";"Pepsi")