5

会社名を含むデータベースにクエリを実行する必要があります。データを取得する必要がある約 50 の名前のリストがあります。しかし、認識されていない名前にスペースがあるため、in コマンドを使用してクエリを作成できません。元

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

「Cola」が認識されていないため、これによりエラーが発生します。そのようなクエリを書く方法はありますか?

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 に答える