我有一个字符串a / b / c我想在第二次出现“/”之后将所有内容替换为空白,所以我的结果应该像这样a / b 任何帮助将不胜感激。
这里我什么都没有工作
select reverse(left(reverse('a/b/c'), charindex('/', reverse('a/b/c')) -1))
SELECT SUBSTRING('a/b/c', 1, LEN('a/b/c') )
SELECT STUFF('a/b/c', charindex('/', 'a/b/c'), 2, '');
select CHARINDEX('/','a/b/c')
select right ('a/b/c', CHARINDEX('/','a/b/c')-1)
答案 0 :(得分:3)
您可以使用:
SELECT LEFT('a/b/c',CHARINDEX('/','a/b/c',CHARINDEX('/','a/b/c')+1)-1)
CHARINDEX
的可选第三个参数是起始位置,即字符串中应该开始寻找所需字符的位置,通过嵌套另一个CHARINDEX
函数作为第三个参数,您可以找到第二个参数发生。 +1
因此在嵌套'/'
中找不到相同的CHARINDEX
,-1
因此不会返回第二个'/'
结果的一部分。
答案 1 :(得分:0)
您可以使用以下内容:
select stuff('ashish jain',charindex('a','ashish jain',charindex('a','ashish jain')+1),1,'c')
它将取代' a'与' c'并返回“ashish jcin'。