Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL 2005 Reporting Services se verifica null

Le espressioni SSRS vengono valutate utilizzando Visual Basic, che di solito esegue una valutazione completa (cioè non un cortocircuito) di tutti gli operandi in un'espressione, ad es. in IIf(cond, trueexp, falsexp), oltre a cond, vengono valutati sia trueexp che falsexp e possono generare indipendentemente dal valore di cond.

Poiché non sembra esserci una funzione di coalescenza in VB.NET 2.0, potresti voler aggiungerne una nella sezione Codice del report, ad es. per Decimal come restituito da Oracle

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

Sarebbe anche possibile definire una funzione generica, ad es. Coalesce(di TRrisultato).