天天看点

朋友要一个随机生成电话号码的SQL语句

朋友今天突然问说想要一个..随机生成电话号码的SQL语句.内容是 6 + 7位的随机数...于是写了一个..

select '6' + left(cast( (cast(ceiling(rand()*10000000) as int) + 1000000) as char),7)

然后在执行的时候..发现居然全是相同的值..为啥呢?因为种子是相同的..于是修改了种子值..

select '6' + left(cast( (cast(ceiling(rand(checksum(newid()))*10000000) as int) + 1000000) as char),7)

这样理论上是不会相同了..

嗯..然后又看了一下.发现貌似写的有问题..太麻烦了..

select cast((cast(ceiling(rand(checksum(newid()))*10000000) as int) + 60000000) as char)

这样更简单一些..嘎嘎~