我想从变量字符串(IS18002TBB1C2)中丢弃'C'中的结尾字符。
需要等价于
`TRIM` (TRAILING 'C' FROM 'IS18002TBB1C2')
在SQL Server中
期望ans是IS18002TBB1
答案 0 :(得分:3)
假设您通常希望删除以 last C
开头的子字符串,我们可以尝试在字符串的反面使用CHARINDEX
和SUBSTRING
:
SELECT
col,
REVERSE(SUBSTRING(REVERSE(col),
CHARINDEX('C', REVERSE(col)) + 1,
LEN(col))) AS col_out
FROM yourTable;
答案 1 :(得分:2)
您可以将REVERSE()
与LEFT
和CHARINDEX
组合使用
DECLARE @Str VARCHAR (10)='CRICT2'
SELECT LEFT(@str,LEN(@str)-CHARINDEX('C',REVERSE(@Str)))
对于DEMO
答案 2 :(得分:0)
select reverse(substring(reverse('ABCCCC')
,patindex('%[^C]%',reverse('ABCCCC'))
,len('ABCCCC')
)
)