首页 > 解决方案 > 在 UDF 中映射 CLR 和 SQL SERVER 数据类型

问题描述

我正在尝试在 C# 中创建 UDF。C# 函数返回一个字符串,我需要从 UDF 将其作为 CHAR(40) 返回。

c#函数基本上是

public static string functionname() {
   return "mystring";
}

UDF 是用

create function functionname() returns char(40) 
as external name NameSpace.Class.functionname;

我为 C# 函数尝试了不同的返回类型和注释,但没有得到正确的组合。

返回类型stringSqlString使用 SQL 脚本创建错误,例如CREATE FUNCTION for functionname failed because T-SQL and CLR types for return value do not match.

的返回类型SqlChars无法编译并出现错误Cannot implicitly convert type 'string' to 'System.Data.SqlTypes.SqlChars'

如果我从 UDF 返回 NCHAR(40),它确实有效,但我需要 CHAR(40)。

我怎样才能实现它?

标签: c#sql-serveruser-defined-functions

解决方案


推荐阅读