一包含数字的字符串,需要取出中间的数字部分进行排序
/****** Object: UserDefinedFunction [dbo].[F_Get_No] Script Date: 10/18/2013 22:03:13 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate function [dbo].[F_Get_No] ( @No varchar(100) ) RETURNS bigint AS BEGIN WHILE PATINDEX('%[^0-9]%',@No)>0 BEGIN SET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分END RETURN CONVERT(bigint,@No) END
只取出字串中的字符部分
create function [dbo].[F_GetChar](@No varchar(100))RETURNS varchar(100)ASBEGINWHILE PATINDEX('%[^A-Za-z]%',@No)>0BEGINSET @No=STUFF(@No,PATINDEX('%[^A-Za-z]%',@No),1,'') --删掉一个非数字的字符,循环结束,剩余的为数字部分ENDRETURN CONVERT(varchar(100),@No)END --select dbo.F_GetChar('wwww23')