是否可以为 SQL 创建一个具有自己的类型映射的 CLR 函数?例如,SQL表中有一个列varchar(10),我想将其映射到byte[10]。 或者CLR函数只需要使用默认的SQL-CLR类型映射?
我不想将 varchar 转换为 nvarchar 并将其作为字符串输入 CLR。
是的,可以创建一个在 SQL Server 中拥有自己的类型映射的 CLR 函数,但需要注意一些限制。 SQL CLR 函数通常依赖于 SQL Server 在 SQL 类型和 CLR 类型之间的默认类型映射。例如,SQL 中的 varchar 通常映射到 CLR 中的字符串。
但是,如果您想使用 varchar(10) 列并将其映射到 CLR 函数中的 byte[10] 数组,您可以通过将字符串作为输入,然后在CLR 代码。 SQL Server 本身不支持将 varchar 列直接映射到 byte[],但您也可以手动执行此转换。