Salah satu cara untuk menangani koma "memotong" seperti itu adalah dengan menggunakan CASE
pernyataan:
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
Ini sangat jelas:CASE
pernyataan mempertimbangkan tiga situasi -
- Bila string
str
memiliki koma di kedua sisi, - Bila string
str
dimulai dengan koma, tetapi tidak diakhiri dengan koma, dan - Bila string
str
diakhiri dengan koma, tetapi tidak dimulai dengan koma.
Dalam kasus pertama, karakter pertama dan terakhir dihapus; dalam kasus kedua, karakter paling kiri dihapus; dalam kasus terakhir, karakter tambahan dihilangkan.