sql - 如何使用 sql 更新正则表达式

标签 sql sql-server regex

我在更新正则表达式时遇到问题。你看我正在尝试更新:

<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4171707071707271787378757801232e393800207824202d0078757824333728222475786f222e2c" rel="noreferrer noopener nofollow">[email protected]</a>
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="32000303020301020b000b000172504a5d561c515d5f" rel="noreferrer noopener nofollow">[email protected]</a>
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e2d1d6d1d0d1d0d1d2d1dbd0d1a2868d8c9bcc818d8f" rel="noreferrer noopener nofollow">[email protected]</a>

我想看到这样的结果:

<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d3e3e2e2e3e2e0e3eae1eae7ea93b1bcabaafdb0bcbe" rel="noreferrer noopener nofollow">[email protected]</a>
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="90a2a1a1a0a1a3a0a9a2a9a2a3d0f2ffe8e9bef3fffd" rel="noreferrer noopener nofollow">[email protected]</a>
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="241710171617161714171d161764464b5c5d0a474b49" rel="noreferrer noopener nofollow">[email protected]</a>

我已经尝试过像这样的更新过程,但它根本不起作用。

update dbo.boxy_Membership   
 set Email  like =('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]   
 [0-9]@boxy.com%')
 where Email like('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]@%')
 and Email  not like ('%@boxy.com') 

最佳答案

您可以通过字符串操作设置Email值:

update dbo.boxy_Membership   
set Email  = LEFT(Email,CHARINDEX('@',Email)-1)+'boxy.com'
 where Email LIKE '%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]@%'
   and Email  not like ('%@boxy.com') 

如果 @ 之前的位数不变,但基于您不清楚的 WHERE 标准,则可以进一步简化:

update dbo.boxy_Membership   
set Email  = LEFT(Email,12)+'boxy.com'
 where Email LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]@%'      
   and Email  not like ('%@boxy.com') 

关于sql - 如何使用 sql 更新正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25165919/

相关文章:

mysql - 日期时间查询搜索

SQL 服务器 : compare columns in two tables

sql-server - SQL 查询 - 我可以不这样做吗?

mysql - 如何根据用户时区更改日期和时间

javascript - 按组件解释密码正则表达式组件(javascript)

javascript - 另一个选择中的正则表达式选择

MySQL - 检索 LEFT JOIN 中关联列的最大值,其周长与主查询的 WHERE 子句不同

mysql - 如何使用 DELETE 并保持参照完整性?

php - 我可以使用 "array"来存储SQL Select语句的返回记录吗?

sql - 如何在 SQL 函数 CHARINDEX 中使用 RegEx 查找第 n 次出现