假设我有一个字符串1,2,3,
我想删除最后一个,
或者如果字符串看起来像,1,2,3,
or ,1,2,3
我还是想得到1,2,3
作为我的结果。
请尝试在您的回答中进行一些解释。我不想只是在不理解的情况下复制粘贴内容。谢谢。
处理这样的“修剪”逗号的一种方法是使用CASE
陈述:
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
这是非常不言自明的:CASE
声明考虑了三种情况——
- 当字符串
str
两边都有逗号,
- 当字符串
str
以逗号开头,但不以逗号结尾,并且
- 当字符串
str
以逗号结尾,但不以逗号开头。
第一种情况,第一个和最后一个字符被删除;在第二种情况下,最左边的字符被删除;在最后一种情况下,尾随字符被删除。
sqlfiddle 上的演示。 http://sqlfiddle.com/#!6/42c00/1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)