>Hi,
>I need to be able to round some totals to the nearest 0.05.
>
>I have done this in C# using this code:
>
>
public static decimal RoundToNearest(decimal value, decimal nearest)
> {
> decimal remainder;
> decimal returnValue;
>
> remainder = value % nearest;
> if (remainder >= (nearest/2))
> {
> returnValue = value + (nearest - remainder);
> }
> else
> {
> returnValue = value - remainder;
> }
> return returnValue;
> }
>
>Is there a way to do this in SQL Server? Shall I just try to use the same logic in a UDF?
>
>I will need to use it in queries like:
>
>SELECT RoundToNearest(SUM(SomeAmount), 0.05) AS RoundedTotal
As an addition to what Antonio said, you could directly make your C# function a CLR function for SQL server. Then you could call it as if it was a built-in SQL server function (caveat: the function would only available in the database(s) that register the dll. Good side: You can write some complex functions in C#\Vb.Net).