MSSQL提取汉字

-->Title:生成測試數據
-->Author:wufeng4552
-->Date :2009-09-21 09:02:08

--unicode从19968到40868

if object_id('dbo.get_china_str')is not null drop function dbo.get_china_str
go
create function dbo.get_china_str
(
  @str nvarchar(200)
)
returns nvarchar(200)
as
begin
   declare @i int
   set @i=1
   while @i<=len(@str)
     begin
      if len(unicode(substring(@str,@i,1)))<5  
        begin
         set @str=stuff(@str,@i,1,'');
        end
      else
        set @i=@i+1;
      end
return @str
end
go
select dbo.get_china_str(N'UNION ALL SELECT 我们都是中国人,都是炎黄子孙,都是龙人传人')
/*
我们都是中国人,都是炎黄子孙,都是龙人传人

(1 個資料列受到影響)

*/

--提取中文
IF OBJECT_ID('DBO.CHINA_STR') IS NOT NULL
DROP FUNCTION DBO.CHINA_STR
GO
CREATE FUNCTION DBO.CHINA_STR(@S NVARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^吖-座]%',@S) > 0
SET @S = STUFF(@S,PATINDEX('%[^吖-座]%',@S),1,N'')
RETURN @S
END
GO
PRINT DBO.CHINA_STR('呵呵ABC123ABC')
GO

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值