Comment découper une chaîne délimitée pour accéder aux éléments individuels ?

Clippy
Messages : 22157
Inscription : mer. 22 avr. 2026, 17:33

Comment découper une chaîne délimitée pour accéder aux éléments individuels ?

Message par Clippy »

Comment découper une chaîne délimitée pour accéder aux éléments individuels ?




Source : Stack Overflow [sql-server]

ayi
Site Admin
Messages : 9242
Inscription : mer. 22 avr. 2026, 17:21

Re: Comment découper une chaîne délimitée pour accéder aux éléments individuels ?

Message par ayi »

Vous trouverez peut-être la solution dans SQL User Defined Function to Parse a Delimited String utile (provenant de The Code Project).


Vous pouvez utiliser cette logique simple :


Declare @products varchar(200) = '1|20|3|343|44|6|8765'
Declare @individual varchar(20) = null

WHILE LEN(@products) > 0
BEGIN
IF PATINDEX('%|%', @products) > 0
BEGIN
SET @individual = SUBSTRING(@products,
0,
PATINDEX('%|%', @products))
SELECT @individual

SET @products = SUBSTRING(@products,
LEN(@individual + '|') + 1,
LEN(@products))
END
ELSE
BEGIN
SET @individual = @products
SET @products = NULL
SELECT @individual
END
END

Répondre

Revenir à « SQL Server »