将过滤后的数据移动到另一列

时间:2015-03-06 13:53:46

标签: sql sql-server-2012

我有一个列ema_email,它应该包含电子邮件地址,但您可以看到它有时包含电话号码。这是该列的样本

864-943-1333
864-963-5302
864-987-3401
877-225-2922
888-211-3261 702
914-433-6205
917-767-7124
a.titus37@gmail.com
aaudreyisrael@gmail.com
abiblew@aol.com
acash@rrhlawfirm.com
acl@lewisbabcock.com
acreighton@fujifilm.com
adam.milstein@hagerpacific.com
Adelaide@islc.net
aellefson@hsblawfirm.com
afm@fairwayford.com
agarrard@henrypak.com
agnewdev1@aol.com
ajmaeurer@aol.com
akearse@motleyrice.com
akunz@turnerpadget.com
al.siegel@asiegelandassoc.com
alanscc@gmail.com
alexevins@parkerpoe.com
Alinaohene@me.com

有没有办法可以过滤掉这些电话号码,并可能将它们移到右栏?或者我必须手动执行此操作吗?

1 个答案:

答案 0 :(得分:0)

如果它是同一个表,并且如果它不是电子邮件地址,那么同一行也会复制列值:

update tablename set phoneno = ema_email
  where ema_email not like '%@%'

也许你想清除ema_email值,然后添加ema_email = NULL

如果它是另一张表(或行),我需要更多信息才能知道该做什么!