我正在使用带有CLR UDF的Visual Studio 2012数据库项目(如下所示)。出于某种原因,在将其部署到数据库之后,我调用该函数并返回返回的类型名称而不是预期的结果。
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlChars FlattenText(SqlChars text)
{
return new SqlChars(Regex.Replace(text.ToString(), @"\s+", " ", RegexOptions.Multiline));
}
}
当我这样称呼时:
SELECT TOP 1 dbo.FlattenText(MyColumn) AS MyResult FROM MyTable
以下是我的回复:
System.Data.SqlTypes.SqlChars
答案 0 :(得分:0)
SqlChars
从.ToString()
继承Object
,只返回类型名称。请改用text.ToSqlString().ToString()
。