说我有3个值,’Bill’,’Steve’,’Jack’。我想用这些值随机更新表,例如
更新联系人设置的名字=(’Bill’,’Steve’,’Jack’),其中city =’NY’
如何将这些值随机化?
谢谢
您可以使用以下技巧来做到这一点:
update c set name=ca.name from contacts c outer apply(select top 1 name from (values('bill'),('steve'),('jack')) n(name) where c.id = c.id order by newid())ca;
c.id =c.id只是一个伪谓语,它强制sql引擎为每个外部行调用子查询。这是小提琴http://sqlfiddle.com/#!6/8ecca/22
c.id =c.id