是否可以为 SQL Server 创建具有自己的类型映射的 CLR 函数?例如,SQL Server 表中有一个列
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[],但您也可以手动执行此转换。