カラム名がtype
のkdbテーブルがあり、データ型を指定してデータを選択したいとします。タイプがQの予約語であるため、'type
:それはのエラーを発行kdb/q、列名として予約語
select from table where type=giving_type
:ようなものです。
これはどのようにするのですか?
カラム名がtype
のkdbテーブルがあり、データ型を指定してデータを選択したいとします。タイプがQの予約語であるため、'type
:それはのエラーを発行kdb/q、列名として予約語
select from table where type=giving_type
:ようなものです。
これはどのようにするのですか?
あなたは、機能の選択を使用することができます。
?[`table;enlist (=;enlist `giving_type;`type);0b;()]
一般的に、あなたは、このような列名として「タイプ」としてKDB予約語を使用しないでください。
テーブルが列名として「タイプ」を持つこの特定のケースでは、機能選択がソリューションです。
parse "select from table where type=giving_type"
機能の選択や検索を経由して、辞書の構文( 'テーブル[\' giving_type] ')あなたの唯一の選択肢です:
あなたはparse関数を介した選択クエリの関数形を見つけることができます。列名としてキーワードを使用することを避けるのが最も良い、実際には –
これを行うことが技術的に可能ですが(上記と以下で提供されるソリューション)、動作は未定義です。他の組み込み関数は失敗することがあります。別の列名を選択することを強くお勧めします。 – user2242865
ところで.Q.idはあなたのためにこれらの列名を修正しますhttp://code.kx.com/wiki/DotQ/DotQDotid – Chromozorz