sql - 如何替换字符串中特定字符之前的子字符串?

标签 sql tsql replace substring

电子邮件:

值(value)观:

josh@yahoo.com
carmine32@hotmail.com
zehmaneh@yahoo.com

我想用test替换@之前的字符串。

结果:

test@yahoo.com
test@hotmail.com
test@yahoo.com

如何根据字符串中的字符使用子字符串和替换?

最佳答案

你甚至不需要使用substringreplace,你可以使用这个:

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)))

关于sql - 如何替换字符串中特定字符之前的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12371701/

相关文章:

c# - Entity Framework Lambda 优化

sql - oracle数据库查询: primary key references t_name(col_name)?是什么意思

SQL Server 填充缺失记录

sql-server - 动态查询中的 TSQL 隔离级别

javascript - 在字符串中查找部分但替换整个大小写正则表达式?

php - 如何查询列名中带句点的Excel工作表

sql - SQL Server 通配符范围(例如 [A-D])如何与区分大小写的排序规则一起使用?

tsql - 如何在 T-SQL 中获取可变大小的 nvarchar 的最后一部分?

jquery - 如何用逗号替换点?

python - 从 pydantic 数据模型的打印和调用中隐藏变量(例如 'password')