我需要查询一个包含公司名称的数据库。我有大约 50 个名字的列表,我必须为此获取数据。但是我无法使用 in 命令编写查询,因为名称中存在无法识别的空格。前任
select from sales where name in (`Coca Cola, `Pepsi)
这给了我一个错误,因为“可乐”没有被识别。有没有办法编写这样的查询?
我需要查询一个包含公司名称的数据库。我有大约 50 个名字的列表,我必须为此获取数据。但是我无法使用 in 命令编写查询,因为名称中存在无法识别的空格。前任
select from sales where name in (`Coca Cola, `Pepsi)
这给了我一个错误,因为“可乐”没有被识别。有没有办法编写这样的查询?
字符串之间的空格会导致解释器感到困惑。`$() 将字符列表转换为符号。
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
您需要执行以下操作:
select from sales where name in `$("Coca Cola";"Pepsi")