时间:2021-07-01 10:21:17 帮助过:23人阅读
UPDATE `表名` SET `字段名`=ceiling(rand()*500000+500000) WHERE (条件);
update `表名` set click=click*0.01 where classid='2' and click>2000
我们经常会遇到使用随机的问题,下面就是一种解决随机数的方法。
在构造测试数据时,我们需要对测试表插入随机数据。构造测试数据的方法如下,仅以update为例说明
步骤1:随机数的SQL函数为rand() ,而rand()生成的是0-1之间的小数。
步骤2:将rand()*10
将产生1-10之间的带小数的数字,可以使用ceil进行转换。
步骤3:使用cast做类型转换
Cast的用法如下:
Cast(value as type)
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
SELECT CAST(RAND()*10 AS signed) AS rand
步骤4:运行sql语句
UPDATE storm_effect_info s SET
s.fhtp = (SELECT CAST(RAND()*10 AS signed) AS rand)WHERE s.id = 13