在 C# 中的 SQL CLR 函数中设置小数精度

Tom*_*mas 2 c# sql-server sqlclr

我有一个用 C# 编写的 SQL CLR 函数,它类似于:

public partial class UserDefinedFunctions
{
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlString Decimal(decimal sum)
    {
        return sum.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

SQL Server 假定 'sum' 是一种numeric(18,0)类型。

有没有办法在 C# 中更改输入参数的精度和小数位数?

all*_*ran 6

可以使用SQLFacet属性指定精度和小数位数。例如,[Microsoft.SqlServer.Server.SqlFacet(Precision = ..., Scale = ...)] ...