直接使用rand.Intn(10) 多次运行发现每次的随机值都是一样的 查看 Intn方法的源码说明 // Intn returns, as an int, a non-negative pseudo-random number in [0,n) // from the default Source. // It panics if n <= 0. 结论Intn的参数必须大于0 ,因为每次运行都使用 default Source 作为种子 所以相同 实现每次随机值不同代码 package m
drop table x gocreate table x(id varchar(10))--insert into x values('A001')gowith a as (select ISNULL(max(id),'A0000') maxid from x) insert into x (id)select case when RIGHT(maxid,4)<9999 THEN LEFT(maxid,1)+RIGHT('000'+CAST(RIGHT(maxid,4)+1 AS VARCHA