Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL 2005 Reporting Services se verificar nulo


As expressões SSRS são avaliadas usando o Visual Basic, que geralmente faz uma avaliação completa (ou seja, não um curto-circuito) de todos os operandos em uma expressão, por exemplo, em IIf(cond, truexp, falsexp), além de cond, ambos truexp e falsexp são avaliados e podem lançar independentemente do valor de cond.

Como não parece haver uma função de coalescência no VB.NET 2.0, você pode querer adicionar uma na seção Código do relatório, por exemplo. para Decimal como retornado do 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

Seria possível definir também uma função genérica, por exemplo. Coalesce(De TResult).