En måde at håndtere "trimming" af kommaer på ville være at bruge en CASE
erklæring:
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
Dette er meget selvforklarende:CASE
erklæringen overvejer tre situationer -
- Når strengen
str
har kommaer på begge sider, - Når strengen
str
starter med et komma, men slutter ikke med et, og - Når strengen
str
ender med et komma, men starter ikke med et.
I det første tilfælde fjernes det første og det sidste tegn; i det andet tilfælde fjernes tegnet længst til venstre; i det sidste tilfælde fjernes det efterfølgende tegn.