2016-11-29 5 views
0

から呼び出される関数を認識しません:PostgreSQLは、私はPostgreSQLの機能を持っているのPython

func(a integer, b integer) 

私は、Pythonから関数を呼び出すとき:

"select * from func(%s,%s)"(a_1,b_1) 

a_1b_1が整数である場合、それは動作します。 b_1Noneの場合があります。この場合、私は、このエラーメッセージが出ます:

Exception: ERROR: column "none" does not exist LINE 1: ...func(38,None)

を私はPythonでどれがPostgreSQLのNULLと等価ではないことを知っているが、この場合、私はそれを解決する方法がわかりません。

+1

'a_1'または' b_1'は整数以外の可能性がありますか?言って、文字列ですか?特に、['']のような文字列。 DROP TABLE Something - ''](https://xkcd.com/327/) – Kevin

+0

@Kevin a_1とb_1のデータは、他のDBの整数フィールドから受信されます。 – avi

答えて

1
"select * from func(%s,%s)" % (a_1, 'NULL' if b_1 == None else b_1) 
関連する問題