zoukankan      html  css  js  c++  java
  • 求字符串中汉字的个数

    一、分解字符串法

    首先创建这个函数:

     

    /*将字符串分解*/

    create function [dbo].[SplitChar]

       (

       @str_One Nvarchar(100)

       )

    returns @Result table (col nvarchar(1))

    AS

    BEGIN

       declare @number_One int

       select @number_One=1

       while @number_One<=len(@str_One)

       begin

           insert @Result select substring(@str_One,@number_One,1)

           select @number_One=@number_One+1

       end

       return

    END

    然后创建如下函数

    /*求字符串中汉字个数*/

    Create function [dbo].[ChineseCountOne]

    (

           @Str_One nvarchar(200)

    )

    RETURNS int AS

    BEGIN

           declare @number_One int

           SELECT @number_One =count(*) from dbo.SplitChar(@Str_One) where ascii(col)>127

           return @number_One

    END

     

    /*使用示例

    select dbo.[ChineseCountOne] ('China中国Beijing北京Olympics奥林匹克')

    */

     

    二、字符字节求差法

    首先创建这个函数:

    create function [dbo].[Chinesecount_Two]

    (

           @Str_One varchar(200)

    )

    RETURNS int AS

    BEGIN

           declare @number_One int

           set  @number_One=(datalength(@Str_One)-len(@Str_One))

           return @number_One

    END

     

    /*使用示例

    DECLARE @sql_one varchar(200)

    SET @sql_one='China中国Beijing北京Olympics奥林匹克'

     

    DECLARE @sql_two nvarchar(200)

    SET @sql_two='China中国Beijing北京Olympics奥林匹克'  

     

    select dbo.[Chinesecount_Two] (@sql_one) '个数one' ,

    dbo.[Chinesecount_Two] (@sql_two) '个数two'

  • 相关阅读:
    白菜:小白菜、青菜
    蔬菜:白菜
    蔬菜-白菜:娃娃菜
    玉米:黑玉米
    坚果-花生:彩色花生
    养生-坚果-花生:黑花生
    汉语-词语:气质
    汉语-词语:痛楚
    汉语-词语:酸楚
    汉语-词语:心酸
  • 原文地址:https://www.cnblogs.com/accumulater/p/6244667.html
Copyright © 2011-2022 走看看