【SQLServer自定义函数】取出字符串中的汉字、字母或是数字-金宇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


【SQLServer自定义函数】取出字符串中的汉字、字母或是数字

发表时间:2015/4/14 8:29:49 评论(0) 浏览(10806)  评论 | 加入收藏 | 复制
   
摘 要:SQLServer自定义函数取出字符串中的汉字、字母或是数字
正 文:
--创建函数(得到字符串中的汉字)
create function [dbo].[m_getchinese]
(
    @chinese nvarchar(max)
)
returns varchar(100)
as
begin
    while patindex('%[^吖-咗]%',@chinese) > 0
    begin
       set @chinese = stuff(@chinese,patindex('%[^吖-咗]%',@chinese),1,N'');
    end
    return @chinese
end
go
--创建函数(得到字符串中的字母)
create function [dbo].[m_getstr](@maco varchar(100))
returns varchar(max)
as
begin
    while patindex('%[^a-z]%',@maco) > 0
       begin
           set @maco=stuff(@maco,patindex('%[^a-z]%',@maco),1,'')
       end
    return @maco
end
go


--创建函数(得到字符串中的数字)
create function [dbo].[m_getnumber]
(
   @mysql_one nvarchar(200)
)
returns varchar(200)
begin
    declare @mysql_two varchar(200)
    select @mysql_two=
    substring(@mysql_one,patindex('%[0-9.]%',@mysql_one),patindex('%[^0-9.]%',substring(@mysql_one,patindex('%[0-9.]%',@mysql_one),
    len(@mysql_one)-patindex('%[0-9.]%',@mysql_one)+1))-1)
    return @mysql_two;
end
 
--测试
select dbo.[m_getchinese]('China2009中国HRB4-1v')
select dbo.[m_getstr]('China2009中国HRB4-1v')
select dbo.[m_getnumber]('China2009中国HRB4-1v')
 
--运行结果
/*
-----------
中国
-----------
ChinaHRBv
-----------
2009

*/


转载来源:http://blog.csdn.net/maco_wang/article/details/6260197


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【Access基础】Access升迁到SQL Server 问题\...  【缪炜  2014/6/29】
[转载]分享一个SQLSERVER脚本(计算数据库中各个表的数据量...  【金宇转载  2015/3/3】
[转载]SQLServer计算个人所得税函数  【金宇转载  2015/3/10】
[转载]SQLServer汉字转拼音函数  【金宇  2015/3/17】
【转载SQLServer自定义函数】【叶子函数分享一】去除字符串中...  【金宇  2015/3/24】
常见问答
技术分类
相关资源
文章搜索
关于作者

金宇

文章分类

文章存档

友情链接