2015年10月15日 星期四

mssql 利用patindex substring....等達到regular replace 出想要的內容


mssql 利用patindex substring....等達到regular  出想要的內容
CREATE  FUNCTION regularSubIndex(
@searchKey NVARCHAR(50), @inText NVARCHAR(1000)
 )
RETURNS INT
AS BEGIN
    DECLARE @position INT
    DECLARE @rIndex INT = 0
    DECLARE @patten VARCHAR(50) = '%'+@searchKey+'-[0-9]%'
    SET @inText = SUBSTRING(@inText,PATINDEX(@patten,@inText),LEN(@inText)-PATINDEX(@patten,@inText)+1);
    SET @position = CHARINDEX(',',@inText);

    IF (@position>0)
    BEGIN
        SET @inText = SUBSTRING(@inText,1,@position-1)
    END
    SET @inText = REPLACE(@inText,@searchKey+'-','')

    IF ISNUMERIC(@inText)=1
    BEGIN
        SET @rIndex = CONVERT(INT,@inText)
    END

    RETURN @rIndex
END