1 2 3 4 5 6 7 8 9 10 11 12
|
DECLARE @subdivs VARCHAR(50), @subdivsVerif VARCHAR(50)
SET @subdivs='a;b;c;d;e;f;g'
-- SET @subdivs='a;a;c;d;e;f'
-- SET @subdivs='b;a;c;d;e;f'
IF EXISTS (SELECT * FROM (SELECT VALUE AS SUBDIV FROM (VALUES (1)) AS T1(a) CROSS APPLY STRING_SPLIT(@subdivs, ';')) T1 WHERE Subdiv NOT LIKE '[a-f]') PRINT 'Valeur erronnée'
IF EXISTS (SELECT Subdiv FROM (SELECT VALUE AS SUBDIV FROM (VALUES (1)) AS T1(a) CROSS APPLY STRING_SPLIT(@subdivs, ';') ) T1 GROUP BY Subdiv HAVING COUNT(*)>1) PRINT 'Valeur en doublon'
IF @subdivs<>STUFF((SELECT ';'+SUBDIV FROM (SELECT VALUE AS SUBDIV FROM (VALUES (1)) AS T1(a) CROSS APPLY STRING_SPLIT(@subdivs, ';') ) T1 ORDER BY 1 FOR XML PATH('') ), 1, 1, '')
PRINT ' Ordre KO' |