2016-08-10 4 views
1

나는 "0"이 아닌 paid_amount를 원하지만 "매번 주어진 이름과 인수 유형에 일치하는 연산자가 없습니다."라는 쿼리를 실행할 때마다 명시 적 타입 캐스트를 추가해야 할 수도 있습니다. " 내가 뭘해야한다고 생각하니? PostgreSQL을 사용합니다. 당신은 paid_amount :: 텍스트를 실행하여 즉시 시전 할 수어떻게 포스트 그레스에 캐스트 할 수 있습니까?

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

테이블 정의가 귀하의 질문에 대답하기 위해 좋은 것 숫자되지 않을 수 있기 때문입니다 나를 위해 일하지만, : 그것은 paid_amount'는 '것을, 가능성이 그 이상입니다 'LIKE' 질의를 지원하지 않는 어떤 종류의 수치 열. 대신'paid_amount <> 0 '을 시도해 볼 수 있습니다. (또는 NULL도 포함 :'paid_amount IS DISTINCT FROM 0') – pozs

+0

알았어, 내가 지불 한 금액이! = "0"이었지만, 테이블에서 여전히 나왔지만 쿼리를 실행했을 때, 티. – jasmine825

+0

질문을 편집하여 테이블의 구조를 보여주십시오. 'CREATE TABLE' 문이 이상적입니다. phpPgAdmin이나 pgAdmin III와 같은 것을 사용한다면 쉽게 얻을 수 있습니다. – IMSoP

답변

0

는> 0

0

은! = '0'예를 들어, 그러나 당신은 당신의 결과가 예상된다 않도록주의해야합니다. 테이블 정의를 보는 것이 도움이 될 것입니다. 당신은 VARCHAR < 시도해야

관련 문제