Domanda

Ho una stringa come questa "Suzuki GSX_1300/TWOWHEELER"

Ora voglio dividere la stringa sopra in parole e inserire l'uno per una parola in una tabella.

DECLARE @a TABLE (a nvarchar(500));
declare @RTADESC nvarchar(100) = 'SUZUKI GSX_1300/TWOWHEELER';
declare @b int =1;
declare @c int;
set @c=CHARINDEX('_',@RTADESC,@b);

WHILE @c>0
        BEGIN
            SELECT @b= CHARINDEX('_' ,@RTADESC,@b)+1
            INSERT INTO @a
            SELECT SUBSTRING(@RTADESC,0,@b-1)
            set @c=CHARINDEX('_',@RTADESC,@b)
        END

        SELECT * FROM @a

Ora voglio vedere i dati nella tabella @a come di seguito

SUZUKI
GSX
1300
TWOWHEELER

Sulla base di esso cercherò i produttori di veicoli nel mio tavolo.

Quindi, per favore aiutami su questo come posso dividere la mia stringa, potrei ottenere diversi personaggi speciali in futuro.

È stato utile?

Soluzione

Ci sono alcune eccellenti opzioni disponibili su: http://www.sqlperformance.com/2012/07/t-sql-queries/split-strings

Ci sono soluzioni che ti consentono di passare anche il delimitatore, in modo da poter passare in diverse in futuro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top