函数 | 说明 |
---|---|
rand() | 获取 0 - 1 之间的随机数 |
round(x,n) | 四舍五入,保留 n 位小数 |
floor(x) | 向下取整 |
ceiling(x) | 向上取整 |
示例
-
获取指定范围的随机数
round(rand()*(max-min)+min)
-
获取指定范围的整数
FLOOR(i+RAND()*(j–i+1))
-
更新字段为随机值
UPDATE test_user_comments SET reply_id = FLOOR(10+RAND()*(100-10)) where id > 66;
-
随机取一条数据,更新字段为随机值 ``
示例如下:
mysql> select rand();
+--------------------+
| rand() |
+--------------------+
| 0.7765779064750093 |
+--------------------+
1 row in set (0.00 sec)
mysql> select round(1.3456456,5);
+--------------------+
| round(1.3456456,5) |
+--------------------+
| 1.34565 |
+--------------------+
1 row in set (0.00 sec)
mysql> select floor(1.4356);
+---------------+
| floor(1.4356) |
+---------------+
| 1 |
+---------------+
1 row in set (0.00 sec)
mysql> select ceiling(2.457);
+----------------+
| ceiling(2.457) |
+----------------+
| 3 |
+----------------+
1 row in set (0.00 sec)
mysql> select round(rand()*(100-20)+20);
+---------------------------+
| round(rand()*(100-20)+20) |
+---------------------------+
| 74 |
+---------------------------+
1 row in set (0.00 sec)
mysql> select floor(10+rand()*(100-10+1));
+-----------------------------+
| floor(10+rand()*(100-10+1)) |
+-----------------------------+
| 59 |
+-----------------------------+
1 row in set (0.00 sec)
mysql> UPDATE test_user_comments SET reply_id = FLOOR(10+RAND()*(100-10)) where id < 10;
Query OK, 9 rows affected (0.10 sec)
Rows matched: 9 Changed: 9 Warnings: 0
mysql>