Một cách để đối phó với các dấu phẩy "cắt xén" như vậy sẽ là sử dụng CASE tuyên bố:
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
Điều này rất dễ hiểu:CASE tuyên bố xem xét ba tình huống -
- Khi chuỗi
strcó dấu phẩy ở cả hai bên, - Khi chuỗi
strbắt đầu bằng dấu phẩy nhưng không kết thúc bằng dấu phẩy và - Khi chuỗi
strkết thúc bằng dấu phẩy nhưng không bắt đầu bằng dấu phẩy.
Trong trường hợp đầu tiên, ký tự đầu tiên và ký tự cuối cùng bị loại bỏ; trong trường hợp thứ hai, ký tự ngoài cùng bên trái bị xóa; trong trường hợp cuối cùng, ký tự ở cuối bị xóa.