SQL中更新某个字段为随机的7为数字

1、

update ec_xueyuan set cgddh='0351-'+right(RAND()*10000000 ,7)

 

2、以上更新无法保证所有的字段随机

 

采用以下语句可随机生成一个电话号码

 

UPDATE ec_xueyuan SET cgddh='0351-'+left(replace(cast (ABS(CAST(CAST(NewID() AS BINARY(2) ) AS INT)) as char(7)),' ','') + ('523417908'),7)
where xh <40

且速度很快

 

先把生成的一个二进制随机数转化为整数 并取其绝对值,再替换掉可能存在的空格再取前7个字符

 

3、带来一个问题就是 电话号码没有以1开头的,数据还存在不合理

 

 UPDATE ec_xueyuan SET cgddh=replace(cgddh,'1','2') where cgddh like '0351-1%'

你可能感兴趣的:(SQL中更新某个字段为随机的7为数字)