tsql 用户函数- 从字符串中提取需要的字符(中文,数字,字母等)
2010-03-20 17:59
483 查看
ALTER function dbo.ufn_GetNumeric ( @oldstr varchar(100) ) returns INT AS /****************************** 函数功能: 从字符串中取数字. 创建日期: 2007-10-19 ******************************/ begin declare @s varchar(1000),@i int set @i = 1 while @i <= DATALENGTH(@oldstr) BEGIN IF substring(@oldstr collate Chinese_PRC_BIN,@i, 1) like('[0-9]') --取数字 SET @s=isnull(@s,'')+substring(@oldstr ,@i,1) set @i = @i +1 END RETURN CAST(@s AS INT) end GO /**//*======================================================*/ alter function dbo.ufn_GetLowerChar( @oldstr varchar(100) ) returns varchar(100) AS /**//****************************** 函数功能: 从字符串中取小写字母. 创建日期: 2007-10-26 ******************************/ begin declare @s varchar(1000),@i int set @i = 1 while @i <= DATALENGTH(@oldstr) BEGIN if substring(@oldstr collate Chinese_PRC_BIN,@i, 1) like('[a-z]') --取小写字母 set @s=isnull(@s,'')+substring(@oldstr ,@i,1) set @i = @i +1 END return @s end GO /**//*======================================================*/ alter function dbo.ufn_GetUpperChar( @oldstr varchar(100) ) returns varchar(100) AS /**//****************************** 函数功能: 从字符串中取大写字母. 创建日期: 2007-10-26 ******************************/ begin declare @s varchar(1000),@i int set @i = 1 while @i <= DATALENGTH(@oldstr) BEGIN if substring(@oldstr collate Chinese_PRC_BIN,@i, 1) like('[A-Z]') --取大写字母 set @s=isnull(@s,'')+substring(@oldstr ,@i,1) set @i = @i +1 END return @s end GO /**//*======================================================*/ alter function dbo.ufn_GetChineseChar( @oldstr varchar(100) ) returns varchar(100) AS /**//****************************** 函数功能: 从字符串中取中文字符. 创建日期: 2007-10-26 ******************************/ BEGIN DECLARE @s VARCHAR(1000) while patindex('%[吖-座]%',@oldstr)>0 begin SELECT @s=ISNULL(@s,'')+SUBSTRING(@oldstr,PATINDEX('%[吖-座]%',@oldstr),1) SET @oldstr=stuff(@oldstr,1,patindex('%[吖-座]%',@oldstr),'') end return @s END GO /**//*测试*/ declare @s varchar(100) set @s='CHINA,r~!@#$o%likjLKSkF^&*(y,&.;)(*wu^x%943中8国$@人ss' select dbo.ufn_GetChineseChar(@s)[#1],@s [#2] UNION ALL select dbo.ufn_GetUpperChar(@s)[#1],@s [#2] UNION ALL select dbo.ufn_GetLowerChar(@s)[#1],@s [#2] UNION ALL select dbo.ufn_GetNumeric(@s)[#1],@s [#2] /**//* #1 #2 中国人 CHINA,r~!@#$o%likjLKSkF^&*(y,&.;)(*wu^x%943中8国$@人ss CHINALKSF CHINA,r~!@#$o%likjLKSkF^&*(y,&.;)(*wu^x%943中8国$@人ss rolikjkywuxss CHINA,r~!@#$o%likjLKSkF^&*(y,&.;)(*wu^x%943中8国$@人ss 9438 CHINA,r~!@#$o%likjLKSkF^&*(y,&.;)(*wu^x%943中8国$@人ss (4 行受影响) */
相关文章推荐
- 获取包含中文,字母,数字集合的字符串的长度(1个汉字字符存储需要2个字节,1个英文字符存储需要1个字节)
- SQL函数:字符串中提取数字,英文,中文,过滤重复字符
- 编写一个函数,分别统计出传入字符串参数(可能不止一个参数)的英文字母,空格,数字和其他字符的个数
- 8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。(改)
- [转]在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符
- 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符
- SQL函数:字符串中提取数字,英文,中文,过滤重复字符
- 提取字符串中数字、中文、英文字符…
- 习题 7.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格、和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
- 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符
- 编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格,和其他字符的个数,在主函数中输入字符串以及输出上述统计的结果。再考虑将算的的结果放在一个数组中
- javaScript正则表达式提取字符串中字母、数字、中文 && 字符串替换
- JavaScript正则表达式提取字符串中字母、数字、中文[转]
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 6 MySQL UDF提取字符串中的字符(中文、英文、数字)
- SQL函数:字符串中提取数字,英文,中文,过滤重复字符
- 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- Ex7_4编写函数,统计此字符串中字母、数字、空格和其他字符­的个数
- 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分
- JavaScript正则表达式提取字符串中字母、数字、中文[转]