sql - 如何在两个值之间生成数字
问题描述
我想生成 2 个值之间的数字,例如 32 到 35 之间的 15 个数字。
我写了这个:
SELECT LEVEL+31 + round(dbms_random.value(1, 4))
FROM dual CONNECT BY LEVEL <=15;
但它给了我这样的结果:
34
36
37
36
39
39
40
41
44
44
45
47
45
47
47
我希望所有 15 个值都在 31 到 35 的范围内。
解决方案
LEVEL
从中删除SELECT
和修改限制dbms_random.value
:
SQL> select round(dbms_random.value(31, 35)) result
2 from dual
3 connect by level <= 15;
RESULT
----------
32
31
34
32
34
31
33
32
33
32
34
34
35
33
33
15 rows selected.
SQL>
推荐阅读
- ios - 将数据添加到数据库后如何从 Core Data 中获取数据
- vb.net - 参数 productID 没有默认值
- python - 哪些包负责 Python2 和 Python3 之间的不同输出以及如何解决此问题?
- django - django 无法识别 URL 中的 #
- python - Python - 有没有办法将函数放在函数中而不是得到“TypeError:'int' object is not callable”?
- java - 无法解析类型变量“T”(使用 com.yaml.Example 类的上下文)
- registry - 获取“注册 COM+ 应用程序时出错”
- google-analytics - 手动生成的事件现在显示在分析中
- enterprise-architect - 在 Enterprise Architect 中禁用跟踪元素中的标记值
- cpu - CPU时钟可以提高我的程序的性能吗?