som*_*ool 7 sql sql-server-2005
我在这样的数据库中有字符串:
firstname.lastname@email.com/IMCLientName
Run Code Online (Sandbox Code Playgroud)
我只需要在@符号之前出现的字符.
我试图找到一种在SQL中执行此操作的简单方法.
Ian*_*son 23
DECLARE @email VARCHAR(100)
SET @email = 'firstname.lastname@email.com/IMCLientName'
SELECT SUBSTRING(@email,0, CHARINDEX('@',@email))
Run Code Online (Sandbox Code Playgroud)
基于Ian Nelson的示例,我们可以添加快速检查,以便在找不到索引时返回初始值。
DECLARE @email VARCHAR(100)
SET @email = 'firstname.lastname.email.com/IMCLientName'
SELECT CASE WHEN CHARINDEX('@',@email) > 0
THEN SUBSTRING(@email,0, CHARINDEX('@',@email))
ELSE @email
END AS email
Run Code Online (Sandbox Code Playgroud)
这将返回“firstname.lastname.email.com/IMCLientName”。如果您使用“firstname.lastname@email.com/IMCLientName”,那么您将收到“firstname.lastname”结果。
| 归档时间: |
|
| 查看次数: |
44577 次 |
| 最近记录: |