在SQL中取出字符串中数字部分或在SQL中取出字符部分
编写人:CC阿爸
2013-10-18
- 近来在开发一个项目时,一包含数字的字符串,需要取出中间的数字部分进行排序.经过baidu搜索。并结合自己项目的需求,编写了一个自定义的SQL函数用供项目中使用。
/****** Object: UserDefinedFunction [dbo].[F_Get_No] Script Date: 10/18/2013 22:03:13 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create 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