SQL 将一个字段处理后插入另一个字段(如QQ号变邮箱)

一、前言

  在项目中,我们将一个字段处理后添加到另一个字段,如 QQ号 转 邮箱 、电话号码转后六位为密码、身份证截取后6位转密码、姓名转姓氏和名字等 

  QQ号-》邮箱:1123195494-》1123195494@qq.com

  电话号码-》密码:18888888888-》88888888

  身份证-》密码:522322111111112020-》112020

  这些都是我们经常遇到的转化,通过代码我们是截取,那通过 SQL 我们是如何实现呢?

二、解决方法

  我这边以QQ邮箱转QQ号为例,比如数据库中,我的QQ号码为空,我需要将QQ号这里使用QQ邮箱的数组填充

  

接下来,我需要解析 QQ 邮箱,将 QQ 邮箱截取为两半 “@”符号的前和后。  

  

 

 接下来我们联合使用起来就可以得到 QQ 号了

  

  查看数据

   

 

SQL 代码:

/* 查询 QQ邮箱 和  QQ 字段 */
SELECT SC.EMailAddress as QQ邮箱,SC.Qq as QQ号 FROM [Schoolmate].[ContactInformations] AS SC

/* 获取 QQ号 的函数 ,但由于 QQ号的位数不一样,所以这里的 11 是可变的 */
SELECT SUBSTRING('1123195494@qq.com',0,11)

/* 获取@所在的位置 */
SELECT CHARINDEX('@','1123195494@qq.com')

/* 更新数据库 */
UPDATE [Schoolmate].ContactInformations 
SET Qq= (SELECT SUBSTRING(EMailAddress,0,(SELECT CHARINDEX('@',EMailAddress))))
posted @ 2020-09-17 11:23  周兴兴  阅读(609)  评论(0)    收藏  举报