在SQLserver中stuff 函数用法

--提取数字
IF OBJECT_ID('DBO.GET_NUMBER'IS NOT NULL
DROP FUNCTION DBO.GET_NUMBER
GO
CREATE FUNCTION DBO.GET_NUMBER(@S VARCHAR(100))
RETURNS 100)
AS
BEGIN
WHILE PATINDEX(%[^0-9]%',@S> 0
set @s=stuff(@s,patindex(@s),1,0)">'')
END
RETURN @S
测试PRINT DBO.GET_NUMBER(呵呵ABC-12,3ABC')
123
--
------------------------------------------------------------------提取英文DBO.GET_STRFUNCTION DBO.GET_STR
FUNCTION DBO.GET_STR(%[^a-z]%PRINT DBO.GET_STR(呵呵ABC123ABC提取中文DBO.CHINA_STRFUNCTION DBO.CHINA_STR
FUNCTION DBO.CHINA_STR(NVARCHAR(%[^吖-座]%SET @S = STUFF(@S,0)">@S),NPRINT DBO.CHINA_STR(过滤重复字符DBO.disTINCT_STRFUNCTION DBO.disTINCT_STR
FUNCTION DBO.disTINCT_STR(100),0)">@SPLIT 50))
IF IS NULL RETURN(NULL)
DECLARE @NEW 50),0)">@INDEX INT,0)">@TEMP 50)
IF LEFT(1)<>@SPLIT
= @SPLIT+RIGHT(@SCHARINDEX(@SPLIT,0)">@S)>0 AND LEN(<>1
@INDEX @S)
@TEMP = @INDEX+@SPLIT)))
NULL 
@NEW ISNULL(@NEW,0)">'')@TEMP
ELSE
REPLACE(@TEMP,0)">@SPLIT),0)">@SPLIT))-RETURN RIGHT(@NEW)-1),255)">LEN(1))1)
PRINT DBO.disTINCT_STR(A,A,B,C,,128)">A,C过滤重复字符2DBO.disTINCT_STR2FUNCTION DBO.disTINCT_STR2
FUNCTION DBO.disTINCT_STR2(varchar(8000))
@NEW+LEFT(@NEW
SELECT DBO.disTINCT_STR2(AABCCDABCDGO

DBO.SPLIT_STRFUNCTION DBO.SPLIT_STR
FUNCTION DBO.SPLIT_STR(
8000),      包含多个数据项的字符串int,             获取的数据项的位置10)     数据分隔符
)
@SPLITLEN int
SELECT @SPLITLENA')2
WHILE 1 @SPLIT)=@SPLITLEN,255)">RETURN(ISNULL(''))
PRINT DBO.SPLIT_STR(AA|BB|CC2,0)">|--
GO

标签s

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...