我使用以下内容,但有没有简单的方法呢?
DECLARE @x VARCHAR(32) = 'uk,usa,germany,poland,';
SELECT SUBSTRING(@x,0, LEN(@x) - CHARINDEX(',', REVERSE(@x)) + 1);
输出是:
uk,usa,germany,poland
非常感谢。
答案 0 :(得分:2)
select left(@x, len(@x) - 1)
请注意,LEN不包括尾随空格。
答案 1 :(得分:0)
使用STUFF尝试:
DECLARE @x VARCHAR(32) = 'uk,usa,germany,poland,';
select STUFF(@x,LEN(@x),1,' ')
答案 2 :(得分:0)
为了避免空字符串出错,我建议使用SUBSTRING从字符位置0开始而不是LEFT。使用left和我的测试数据会失败。
DECLARE @t table(col1 varchar(20))
INSERT @t values('abc,'),(''), ('Denmark,')
SELECT
SUBSTRING(col1, 0, len(col1))
FROM @t
结果:
abc
<empty row>
Denmark