【发布时间】:2020-09-01 12:37:24
【问题描述】:
我想在 SQL 服务器中拆分字符串并获取 @ 之前和任何其他特殊字符之后的值。
Example 1: I have a string
abc.123.vet@xyz.com
Expected output: vet
Example 2: aaa@yy.com
Expected output: aaa
Example 3: aaa bte@yy.com
Expected output: bte
我试过了:
代码 sn-p #1:
DECLARE @email VARCHAR(100)
SET @email = 'firstname.lastname@email.com'
SELECT SUBSTRING(@email, 0, CHARINDEX('@', @email))
代码 sn-p #2:
DECLARE @emai1l VARCHAR(100)
SET @emai1l = 'first.name.lastname@email.com'
SELECT SUBSTRING(SUBSTRING(@emai1l, 0, CHARINDEX('@', @emai1l)), 0, CHARINDEX('.', @emai1l))
【问题讨论】:
-
您将什么定义为“特殊字符”?任何不是字母数字的东西?
-
是的,非字母数字字符。
标签: sql sql-server regex split