创建一个函数,输入包含中英文字符串,将此字符串分割并显示分割后内容。
如:创建函数m_splitNchinese,执行select * from [dbo].[m_splitNchinese] ('Chinese中国'),返回两列,"Chinese" "中国"
SQL关键字:patindex,len,left,right,returns
注意,此函数以表形式返回内容,非中文过滤条件"[^_@0-9a-z]"。
以下是代码部分:
create function m_splitNchinese(@S varchar(100))
returns @table table(yingwen varchar(100),zhongwen varchar(100))
as
begin
insert into @table
select LEFT(@S,PATINDEX('%[^_@0-9a-z]%',@S)-1),RIGHT(@S,PATINDEX('%[_@0-9a-z]%',@S)+1)
return
end
go
select * from [dbo].[m_splitNchinese] ('Chinese中国')
学习心得:发现一个很不错的博客,博主发的内容很详细,关于今天新认识的函数Patindex,有很详细的解释http://www.cnblogs.com/moss_tan_jun/archive/2011/11/26/2263982.html,SQL函数说明大全http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html,OK,总算整理完了!
如:创建函数m_splitNchinese,执行select * from [dbo].[m_splitNchinese] ('Chinese中国'),返回两列,"Chinese" "中国"
SQL关键字:patindex,len,left,right,returns
注意,此函数以表形式返回内容,非中文过滤条件"[^_@0-9a-z]"。
以下是代码部分:
create function m_splitNchinese(@S varchar(100))
returns @table table(yingwen varchar(100),zhongwen varchar(100))
as
begin
insert into @table
select LEFT(@S,PATINDEX('%[^_@0-9a-z]%',@S)-1),RIGHT(@S,PATINDEX('%[_@0-9a-z]%',@S)+1)
return
end
go
select * from [dbo].[m_splitNchinese] ('Chinese中国')
学习心得:发现一个很不错的博客,博主发的内容很详细,关于今天新认识的函数Patindex,有很详细的解释http://www.cnblogs.com/moss_tan_jun/archive/2011/11/26/2263982.html,SQL函数说明大全http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html,OK,总算整理完了!