SQL2005CLR函数扩展-繁简转换的实现代码 |
这个方法比较简单,用Microsoft.VisualBasic命名空间下强大的字符串处理函数就可以了 复制代码 代码如下: using System; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; public partial class UserDefinedFunctions { [Microsoft.SqlServer.Server.SqlFunction ] public static SqlString BigToGB(SqlString inString) { if (inString.IsNull) return SqlString .Null; return (Microsoft.VisualBasic.Strings .StrConv(inString.Value, Microsoft.VisualBasic.VbStrConv .SimplifiedChinese, 0)); } [Microsoft.SqlServer.Server.SqlFunction ] public static SqlString GBToBig(SqlString inString) { if (inString.IsNull) return SqlString .Null; return (Microsoft.VisualBasic.Strings .StrConv(inString.Value, Microsoft.VisualBasic.VbStrConv .TraditionalChinese, 0)); } }; -------------------------------------------------------------------------------- 部署代码如下 -------------------------------------------------------------------------------- 复制代码 代码如下: CREATE ASSEMBLY BigConvertor FROM E:/sqlclrdata/BigConvertor.dll WITH PERMISSION_SET = UnSAFE; -- go CREATE FUNCTION dbo. xfn_BigToGB ( @value nvarchar ( max ) ) RETURNS nvarchar ( max ) AS EXTERNAL NAME BigConvertor. UserDefinedFunctions. BigToGB go CREATE FUNCTION dbo. xfn_GBToBig ( @value nvarchar ( max ) ) RETURNS nvarchar ( max ) AS EXTERNAL NAME BigConvertor. UserDefinedFunctions. GBToBig go -------------------------------------------------------------------------------- 测试代码如下 -------------------------------------------------------------------------------- /* 测试 */ select dbo. xfn_GBToBig( 简体与繁体文的转换 ) -- 簡體與繁體文的轉換 select dbo. xfn_BigToGB( 簡體與繁體文的轉換 ) -- 简体与繁体文的转换 |