SQL server 分割字符串

SELECT TOP 1000 * FROM XXXX where dbo.Split_GetByIndex(seotitle,'-',1) like '%'+ dbo.Split_GetByIndex(seotitle,'-',0)+ '%'

CREATE FUNCTION [dbo].[Split_GetByIndex]
(
    @SplitStr  NVARCHAR(max),
    @SplitChar NVARCHAR(10),
    @Index     INT
)
RETURNS  nvarchar(1000)
AS
BEGIN
    DECLARE @i INT
    DECLARE @result NVARCHAR(1000)
    SET @result=''
    SET @SplitStr=LTRIM(RTRIM(@SplitStr))
    SET @i=0 
    WHILE CHARINDEX(@SplitChar,@SplitStr)>0 
      BEGIN    
        IF @i=@Index
           BEGIN
             SET @result=LEFT(@SplitStr,CHARINDEX(@SplitChar,@SplitStr)-1)
             BREAK
           END
        SET @i=@i+1
        SET @SplitStr=RIGHT(@SplitStr,LEN(@SplitStr)-CHARINDEX(@SplitChar,@SplitStr))    
      END
    IF CHARINDEX(@SplitChar,@SplitStr)=0 AND @i=@Index
      BEGIN
        SET @result=@SplitStr
      END
      
    RETURN @result

END


GO

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章