我有一个字符串<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_5="http://clients.mindbrain.com/api/0_5">
<soapenv:Header/>
<soapenv:Body>
<_5:GetStaff>
<!--Optional:-->
<_5:Request>
<!--Optional:-->
<_5:SourceCredentials>
<!--Optional:-->
<_5:SourceName>NAMENEEDED</_5:SourceName>
<!--Optional:-->
<_5:Password>NEEDED</_5:Password>
<!--Optional:-->
<_5:SiteIDs>
<!--Zero or more repetitions:-->
<_5:int>IDNEEDED</_5:int>
</_5:SiteIDs>
</_5:SourceCredentials>
</_5:Request>
</_5:GetStaff>
</soapenv:Body>
</soapenv:Envelope>
。如何删除指定的char 77681211132
(索引8)和1
(索引3)?字符位置是随机的。
预期输出为6
。
或者如何删除第一次出现指定的char?示例如果我有字符串778121132
,如何删除第一个'1'字符?预期结果为77681211132
如果我使用替换,它将删除所有7768211132
。
答案 0 :(得分:0)
以下查询删除了第一个&#39; 1&#39;它找到了char。
DECLARE
@thestring varchar(15),
@firststring varchar(15),
@secondstring varchar(15)
SET @thestring = '77681211132'
SELECT @firststring = SUBSTRING(@thestring, 0, LEN(@thestring) - 1 - INSTR(@thestring, '1'))
SELECT @firststring
SELECT @secondstring = SUBSTRING(@thestring, INSTR(@thestring, '1') + 1, LEN(@thestring) - INSTR(thestring, '1'))
SELECT @firststring + @secondstring
答案 1 :(得分:-1)
用11替换111
或使用 剩下() 和 对() 字符串运算符,用于创建一个新字符串,而不会从旧字符串的左右部分中删除该字符