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
str
má na obou stranách čárky, - Když je řetězec
str
začíná čárkou, ale nekončí jedničkou a - Když je řetězec
str
končí čá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.