Jednym ze sposobów radzenia sobie z takim „przycinaniem” przecinków jest użycie CASE
oświadczenie:
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
To jest bardzo oczywiste:CASE
oświadczenie uwzględnia trzy sytuacje -
- Kiedy ciąg
str
ma przecinki po obu stronach, - Kiedy ciąg
str
zaczyna się przecinkiem, ale nie kończy się jednym i - Kiedy ciąg
str
kończy się przecinkiem, ale nie zaczyna się od jednego.
W pierwszym przypadku usuwany jest pierwszy i ostatni znak; w drugim przypadku skrajny lewy znak jest usuwany; w ostatnim przypadku znak końcowy jest usuwany.