求关于后几位数是随机数的问题
UPDATE A SET a2 = (select left(b3,5) from B where B.b1=A.a1) + right(convert(varchar,rand()),4)'执行后有10000条记录更新,但后四位始终是同一个四位数,而我要的是不同的四位数呀,
UPDATE A SET a2 + right(convert(varchar,rand()),4) = (select left(b3,5) from B where B.b1=A.a1) 也不行。请求指点
[解决办法]
你只要有一个ID(不重复),可以试试下面的
DECLARE @T TABLE (id INT,名字 VARCHAR(4), i varchar(4))INSERT INTO @T (id, 名字)SELECT 1,'张三' UNION ALLSELECT 2,'张三' UNION ALLSELECT 3,'李四' UNION ALLSELECT 4,'王五' UNION ALLSELECT 6,'赵六' UNION ALLSELECT 7,'赵六' UNION ALLSELECT 8,'王五' UNION ALLSELECT 9,'赵六'update @T set i = right(convert(varchar,rand(id)),4)select * from @T-------------result1 张三 35922 张三 36113 李四 36294 王五 36486 赵六 36857 赵六 37048 王五 37229 赵六 3741