如何在查询SQLserver中的随机字符之间获取电子邮件

时间:2018-03-08 07:28:11

标签: sql sql-server

我在数据库表中有这个字符串字符,

select 'a:6:{s:12:"cfdb7_status";s:4:"read";s:9:"your-name";s:7:"testing";s:10:"your-email";s:18:"tsting!@testng.com";s:10:"your-phone";s:9:"098098098";s:12:"your-message";s:20:"dfkjadsfh aljsdfasdf";s:20:"g-recaptcha-response";s:441:"03AHhf_52xlOGxCbcOqRtuiQABfbv9MjTpQ1bMW1gkaE8I1Ld9NIFhi0yVnh9FzqZDTLizhuahQyOIcofDPkSvYYT6gPZz7nCP2fU853pljiUgQjFZNZxTU1rzhm4gGMpuWJi4YXzKkKpU8KMfzkCngugZv3MlUl6VYN73W6OLfNDRfyfiQmVsJqk0IQqetBo2cnuMdPw_TxPNdW99bu-cnuv77ua0PgyDaqHeJwzKNrK4bHP797AyJdsvTaacCdwi_Pt-cbyQcnzRDsznow1VaiIjf1_eJd8_QpL2wAgFJsye5wb3sYnrpexat6ymMHZrDchhHNKTSobWySjQd3UNEpF3NH73wV2RwpYYuJp2h8sd7xLE9JgKkV0DxK7KLfqS7Oy22REdsKILkI-iqfgaV71wFUWrcYcmIm-JAJqVm-CoR4JB-rOZcSk";}'

如何才能通过查询获取上述某个字符之间的电子邮件地址 请帮帮我!

1 个答案:

答案 0 :(得分:0)

试试这个。

DECLARE @str VARCHAR(500) 

SET @str = 
'a:6:{s:9:"your-name";s:7:"testing";s:10:"your-email";s:18:"**tsting!@testng.com**";s:10:"your-phone";s:9:"25625222";}' 

SELECT Substring(@str, Patindex('%"**%', @str) + 3, Patindex('%**%', 
              Substring(@str, Patindex('%"**%', @str) + 4, Len(@str)))) AS Email

输出

+--------------------+
| Email              |
+--------------------+
| tsting!@testng.com |
+--------------------+