2016-08-10 3 views
1

私はpay_amountを "0"にしたくありませんが、毎回、 "指定された名前と引数の型に一致する演算子がありません。"というクエリを実行するたびに、明示的な型キャストを追加する必要があります。私は何をすると思いますか?私はPostgreSQLを使用します。ポストグルをどのようにキャストできますか?

SELECT 
     * 
    FROM 
     vouchers 
    LEFT JOIN voucher_payment ON vouchers.voucher_id = voucher_payment.voucher_id 
    LEFT JOIN payment_details ON voucher_payment.payment_id = payment_details.payment_id 
    WHERE 
     voucher_payment.claim_transfer IS NOT NULL 
    AND paid_amount NOT LIKE '0' 
+1

ではないかもしれないので、それは私のために働い> varchar型<を試してみてください:それはpaid_amount'は 'ことを、可能性以上のものです'LIKE'クエリをサポートしないある種の数値カラムです。代わりに 'paid_amount <> 0'を試すことができます。 (あるいは、 'NULL's:' paid_amount IS DISTINCT FROM 0'も含めて) – pozs

+0

私はpaid_amount!= "0"でしたが、それは働いていましたが、テーブルではまだ出ていますが、 t。 – jasmine825

+0

あなたの質問を編集してあなたのテーブルの構造を見せてください。 'CREATE TABLE'ステートメントが理想的です。もしあなたがphpPgAdminやpgAdmin IIIのようなものを使っているのであれば、それを簡単に得ることができます。 – IMSoP

答えて

0

あなたはそれがテーブル定義は、あなたの質問に答えるためにはいいだろうが、数字の0

0

あなたはpaid_amountを発行することによって、その場でキャストすることができます::テキストを!=「0」は、例えば、しかし、あなたはあなたの結果が期待されていることに注意する必要があります。テーブル定義を見ればここで助けになるでしょう。

関連する問題