func:{[query] value query};
クエリは私の機能の一部です。私は、(値のクエリ)から削除xxx、yyyyといくつかの操作のようないくつかを追加しました。 なぜ私は値 "クエリ"を使用しない場合、関数doesntは動作します。それはテーブルを見つけることができないと言いました。 私は関数内で値のクエリを使用する必要があり、クエリはパラメータです。 「タブから選択」を関数に渡す必要があります。kdbの関数内の文字列クエリ
私の質問は次のとおりです。フィルタが文字列でも送信するにはどうすればいいですか?
func["select from tab where a="abc""] <<< this does not work
文字列の中に文字列を作成するにはどうすればよいですか?
はまた、私は
func["select from tab where date = max date"] it did not work due to length error
but func["100#select from tab where date = max date"] it works ?
をすればすべてのヘルプはわからない理由を歓迎です!
全体の機能はあなたがバックスラッシュhttp://code.kx.com/wiki/Reference/BackSlash#escape
func["select from tab where a like \"abc\""]
編集使用して引用符をエスケープすることができます
getTable:{[query]loadHDB[];.Q.view date where date < .z.D-30;tab:(delete xxxx,yyyyy,sub,ID,subID,tID,subTID,text,gID from((value query)));remove[];update {";"sv @[s;where (s:";"vs x) like "cId=*";:;enlist""]}each eData from (update {";"sv @[s;where (s:";"vs x) like "AId=*";:;enlist""]}each eData from tab)};
remove:{[]delete tab from `.};
loadHDB:{[]value "\\l /hdb};
nice it worked!しかし、なぜ私が長さのエラーを与えた関数でクエリを行ったのか分かりません。クエリからいくつのレコードが必要かを指定しなければ、エラーが発生します。 – Terry
タブがHDBテーブルの場合、この長さエラーはカラム長の問題(100#は避けている)を指している可能性があります。何が次の(移動されたコードを編集された答えに) –
返すチェックエラー – Terry