• SQL2005CLR函数扩展繁简转换


    这个方法比较简单,用Microsoft.VisualBasic命名空间下强大的字符串处理函数就可以了

    c#代码如下,编译为BigConvertor.dll


    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( ' 簡體與繁體文的轉換 ' )

    -- 简体与繁体文的转换

     

     

  • 相关阅读:
    GUI线程安全详解(二)
    如何用BlazeDS前后台数据交互
    定制Flex菜单图标
    Web App第三方组件PKDashcode&Sencha
    如何用BlazeDS更改图片
    GUI线程安全详解(一)
    Flex Spark皮肤定制
    GUI线程安全详解(三)
    (C# 基础) Array ( Copy, Clone, Clear etc.)
    System.ArgumentException: Destination array was not long enough.
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6204833.html
Copyright © 2020-2023  润新知