Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Ne peut pas être utilisé dans l'opérateur PIVOT car il n'est pas invariant aux valeurs NULL

Si votre agrégat est invariant aux valeurs nulles, vous devez le marquer comme tel dans le SqlUserDefinedAggregateAttribute , quelque chose comme :

[SqlUserDefinedAggregate(Format.UserDefined, MaxByteSize = 8000,
   IsInvariantToNulls = true)]

Le IsInvariantToNulls propriété décrit l'exigence comme :

En regardant votre agrégat, je pense que vous devrez peut-être faire un peu de travail dans votre Add méthode - si la valeur transmise est nulle, peut-être ne pas l'ajouter à la liste ?