2010-12-13 3 views
0

Ich habe versucht, dies zu tun,corverting null auf 0

(Fall, wenn (PREPAYMENT_AMT! = Null), dann 0 sonst (PREPAYMENT_AMT) END)

warum seine noch apper null ???

+0

Kann mir jemand sagen, warum Variable in Gruppenband null erscheint? Ich bin schon seit 3 ​​Wochen fest .... – Chi

Antwort

0

Ich weiß in SQL, null ist nichts gleich, denn es ist der unbekannte Wert. Wie kann ein Unbekannter einem anderen gleichkommen? Das macht keinen Sinn. Es gibt spezielle Operatoren, die mit null umgehen.

(case when (PREPAYMENT_AMT IS NULL) then 0 else (PREPAYMENT_AMT) END) 

Es gibt auch Funktionen in den meisten SQL-Sprachen zu tun, was Sie wollen. In MS SQL Server wird ISNULL(PREPAYMENT_AMT, 0) tun, was Sie wollen. In MySQL ist es COALESCE(PREPAYMENT_AMT, 0).

Sie sollten wissen, dass ich nicht weiß, was Ireport ist, also überprüfen Sie Ihre Dokumente für den Umgang mit Nullen.

+0

Vielen Dank für Ihre Hilfe ... Danke an Raskolnikov auch für die Freigabe ... – Chi

+0

(Falls when (PREPAYMENT_AMT IST NULL), dann 0 else (PREPAYMENT_AMT) END) konvertiert erfolgreich null zu 0 in iReport – Chi

0

Weil Sie es auf 0 ändern, wenn es NICHT null ist. Sie brauchen AMT == null

+0

Ich habe versucht (Fall wenn (PREPAYMENT_AMT = null) dann 0 else (PREPAYMENT_AMT) END), aber es scheint immer noch Null – Chi

+0

Der einzige gleich "=" weist eine Variable zu. Um auf Gleichheit zu prüfen, benötigen Sie das Doppel gleich "==". Dies ist ein häufiger Fehler für Anfänger und einen, den wir alle gemacht haben. – Raskolnikov

+0

ive versuchte "==" früher, aber es gibt einen Fehler "fehlenden Ausdruck" – Chi