SQL Server T-SQL TRIM END

tug*_*erk 1 t-sql sql-server sql-server-2008

我需要修剪;T-SQL中的字符串.但只有拥有它.如下所示:

DECLARE @_tags AS NVARCHAR(MAX);
SET @_tags = 'bla; bla;';

--SELECT TRIMEND(@_tags, ';');
Run Code Online (Sandbox Code Playgroud)

因此,如果@_tags结束;,;将被修剪.我怎样才能做到这一点?

gbn*_*gbn 6

要删除所有if last char ;:

SELECT 
   CASE
       WHEN RIGHT(@_tags, 1) = ';' THEN REPLACE (@_tags, ';', '')
       ELSE @_tags
   END
Run Code Online (Sandbox Code Playgroud)

仅删除最后一个:

SELECT 
   CASE
       WHEN RIGHT(@_tags, 1) = ';' THEN STUFF(@_tags, LEN(@_tags), 1, '')
       ELSE @_tags
   END
Run Code Online (Sandbox Code Playgroud)