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'

  • 相关阅读:
    android 样式开发
    Android studio 开发环境搭建
    nodejs+express 4.x笔记
    C#: switch语句的重构『网摘』
    从实例谈OOP、工厂模式和重构
    ASP.NET FileUpload 上传文件类型验证
    asp.net 网页中播放 flash 和flv
    数据库设计中主键问题
    修改Sqlserver实例默认排序规则
    查看sqlserver被锁的表以及如何解锁
  • 原文地址:https://www.cnblogs.com/accumulater/p/6244667.html
Copyright © 2011-2022 走看看