Jedním ze způsobů, jak se vypořádat s podobným "ořezáváním" čárek, by bylo použití CASE prohlášení:
CASE
WHEN str LIKE ',%,' THEN SUBSTRING(str, 2, LEN(str)-2)
WHEN str LIKE ',%' THEN RIGHT(str, LEN(str)-1)
WHEN str LIKE '%,' THEN LEFT(str, LEN(str)-1)
ELSE str
END
Toto je velmi samovysvětlující:CASE příkaz uvažuje tři situace -
- Když je řetězec
strmá na obou stranách čárky, - Když je řetězec
strzačíná čárkou, ale nekončí jedničkou a - Když je řetězec
strkončí čárkou, ale nezačíná jedničkou.
V prvním případě jsou odstraněny první a poslední znaky; ve druhém případě je odstraněn znak zcela vlevo; v posledním případě je koncový znak odstraněn.