Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL 2005 Reporting Services, wenn auf null prüfen

SSRS-Ausdrücke werden mit Visual Basic ausgewertet, das normalerweise eine vollständige (d. h. keine Kurzschluss-) Auswertung aller Operanden in einem Ausdruck durchführt, z. In IIf(cond, truexp, falsexp) werden neben cond sowohl truexp als auch falsexp ausgewertet und können unabhängig vom Wert von cond auslösen.

Da es in VB.NET 2.0 anscheinend keine Koaleszenzfunktion gibt, möchten Sie vielleicht eine in den Codeabschnitt des Berichts einfügen, z. für Decimal, wie von Oracle zurückgegeben

Function Coalesce(fieldValue As Object, defaultValue As Decimal) As Decimal
  If IsDBNull(fieldValue) OrElse IsNothing(fieldValue) Then
    Coalesce = defaultValue
  Else
    Coalesce = CDec(fieldValue) 
  End If
End Function

Es wäre auch möglich, eine generische Funktion zu definieren, z. Koaleszenz (von TResult).