从左侧出现第二个特定字符后删除字符串


10

我在表格栏中有这种类型的值

154646@8@486
45465@6464@654

等等

我该如何删除第二个@字符之后的所有内容?我需要展示

154646@8
45465@6464

我只能对所有人@但不能对第二个人

SELECT REPLACE(LEFT('45@Tra@lala', CHARINDEX('@','45@Tra@lala')-1),'_',' ')

返回45但不返回45 @ Tra

谢谢 :-)


@字符串中可以有多少个符号?
亚伦·伯特兰

Answers:


16

您可以使用的第三个参数charindex()来指定搜索将在字符串中的何处开始。

declare @S varchar(20) = '45465@6464@654';
select left(@S, charindex('@', @S, charindex('@', @S)+1)-1);

结果

45465@6464
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.