表Email
:
值:
josh@yahoo.com
carmine32@hotmail.com
zehmaneh@yahoo.com
我想用@
替换test
之前的字符串。
结果:
test@yahoo.com
test@hotmail.com
test@yahoo.com
如何根据字符串中的字符使用子字符串和替换?
答案 0 :(得分:6)
您甚至不需要使用substring
或replace
,您可以使用此功能:
SELECT 'test' + RIGHT(email, charindex('@', REVERSE(email)))
FROM YourTable
你可以用这个来测试它:
DECLARE @email nvarchar(50)
SET @email = 'carmine32@hotmail.com'
PRINT 'test' + RIGHT(@email, charindex('@', REVERSE(@email)))
答案 1 :(得分:3)
declare @t table(email varchar(30))
insert @t values('josh@yahoo.com'),
('carmine32@hotmail.com'),
('zehmaneh@yahoo.com')
select stuff(email, 1, charindex('@', email), 'Test@')
from @t
结果:
Test@yahoo.com
Test@hotmail.com
Test@yahoo.com
答案 2 :(得分:2)
UPDATE Email set email =
'test' + SUBSTRING(email, CHARINDEX('@',email), LEN(email))
答案 3 :(得分:1)
你可以
select 'test' + substring(fld, charindex('@', fld), len(fld))