2017-07-31 3 views
0

次のSELECT文を使用してKDBをクエリしようとしています:{select from order where OrderID = x}。パラメータを渡すと、b'lenghthの例外がスローされます。 .encode()メソッド(latin-1とutf-8)を使用して、numpy.string_numpy.bytes_と通常のbytesを試しました。qPythonバイトがsyncクエリで例外を受け取ります

OrderID列の型を調査するために1つのレコードを照会すると、その列の型がbytesであることがわかります。

私は間違っていますか? docsのダッシュが何を意味するのかはっきりしていません。ありがとう!

答えて

0

kdb側のOrderIDのように聞こえるのは文字リストです。

{select from order where OrderID like x} 

そしてあなたは、パラメータの.e.gを通常のPython文字列を使用することができるはずです。その場合、あなたはあなたのクエリの比較を行うためにlikeを使用する必要があります。

q.sync("{select from order where OrderID like x}", "my_order_id") 

は、限り、あなたはパラメータx内の任意のワイルドカード文字を使用しないよう、これが唯一の正確な文字列に一致します。すなわち

q)"one" like "one" 
1b 
q)"ones" like "one" 
0b 
q)"ones" like "one*" 
1b 
+0

救世主!!チャームのように働いた!そんなにありがとう(一日中苦労している)。 –

関連する問題