2010-01-21 5 views
1

J'ai une chaîne comme ça "10 * cat * 123456; 12 * rat * 789; 15 * cheval * 365" je veux la diviser pour être comme ça "chat, rat, cheval" J'ai fait cette fonctionSql Splitting Fonction

CREATE FUNCTION [dbo].[Split](@BenNames VARCHAR(2000)) 
RETURNS VARCHAR(2000) 
AS 
BEGIN 
    DECLARE @tmp VARCHAR(2000) 
    SET @tmp = @BenNames  
    SET @tmp = SUBSTRING(
      SUBSTRING(@tmp, CHARINDEX('*', @tmp) + 1, LEN(@tmp)), 
      0, 
      CHARINDEX('*', SUBSTRING(@tmp, CHARINDEX('*', @tmp) + 1, LEN(@tmp))) 
     ) 
    RETURN @tmp but it only split only one part "10*cat*123456" 

je veux envoyer chaque partie à cette fonction par une autre ou d'une autre looop

Répondre