我有一个字符串,它的格式为99999 124 fdsg
。替换字符串SQL
我想用-
替换第一个空格,下一个空格替换为非空格。我预期的结果将是这样的:
99999-124fdsg
要更换我用这个表达的第一个字符:
stuff(Product,charindex('',product),1,'-')as trim
因为我要来命名新的列作为装饰。我该怎么做第二个角色?
我有一个字符串,它的格式为99999 124 fdsg
。替换字符串SQL
我想用-
替换第一个空格,下一个空格替换为非空格。我预期的结果将是这样的:
99999-124fdsg
要更换我用这个表达的第一个字符:
stuff(Product,charindex('',product),1,'-')as trim
因为我要来命名新的列作为装饰。我该怎么做第二个角色?
假设,你比如与STUFF
工作正常了第一个空白,你可以用REPLACE
来包装它。 STUFF
后有只有其他空白左:
replace(stuff(Product,charindex(' ',product),1,'-'),' ','')
工作例如:
DECLARE @s VARCHAR(50) = '99999 124 fdsg';
select replace(stuff(@s,charindex(' ',@s),1,'-'),' ','')
结果
99999-124fdsg
Charindex
有最后一个参数start_location
用它来寻找第二个空字符串
试试这个
DECLARE @str VARCHAR(50) = '99999 124 fdsg'
SELECT Stuff(Stuff(@str,Charindex(' ',@str),1,'-'),Charindex(' ',@str,Charindex(' ',@str) + 1),1,'')
结果:99999-124fdsg
你刚才不是问这个问题? –