我有一个包含不同 ID
的列。
abc_1234
abc_2345
bcd_3456/
cde_4567/
我想要一个新的列,如果存在/
,则去掉它。
abc_1234
abc_2345
bcd_3456
cde_4567
我知道我将使用IF/THEN、LEFT
和LEN
的组合,但我不知道语法。希望得到帮助!谢谢!
我有一个包含不同 ID
的列。
abc_1234
abc_2345
bcd_3456/
cde_4567/
我想要一个新的列,如果存在/
,则去掉它。
abc_1234
abc_2345
bcd_3456
cde_4567
我知道我将使用IF/THEN、LEFT
和LEN
的组合,但我不知道语法。希望得到帮助!谢谢!
针对SQLServer
declare @tbl table
(
c1 nvarchar(9)
)
insert into @tbl values ('abc_1234')
insert into @tbl values ('abc_2345')
insert into @tbl values ('abc_3456/')
insert into @tbl values ('abc_4567/')
select IIF(RIGHT(c1, 1) = '/', LEFT(C1, LEN(C1)-1), C1)
from @tbl
结果
abc_1234
abc_2345
abc_3456
abc_4567
通常您只需修剪字符串:
select rtrim(col, '/') from ...
select trim(trailing '/' from col) from ...
但并非所有的 DBMS 都提供此功能。例如,SQL Server 就没有。