| 在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。 |
那就看下面的两种随机取整数的方法:
select floor(rand()*N) ---生成的数是这样的:12.0
select cast( floor(rand()*N) as int) ---生成的数是这样的:12
select ceiling(rand() * N) ---生成的数是这样的:12.0
select cast(ceiling(rand() * N) as int) ---生成的数是这样的:12
其中里面的N是一个你指定的整数,如100。 大致一看,这两种方法没什么区别,真的没区别?其实是有一点的,那就是他们的生成随机数的范围: 方法1的数字范围:0至N-1之间,如cast( floor(rand()*100) as int)就会生成0至99之间任一整数 方法2的数字范围:1至N之间,如cast(ceiling(rand() * 100) as int)就会生成1至100之间任一整数 对于这个区别,看SQL的联机帮助就知了: ------------------------------------------------------------------------------------ 比较 CEILING 和 FLOOR
CEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数。例如,对于数字表达式 12.9273,CEILING 将返回 13,FLOOR 将返回 12。FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同。 ---------------------------------------------------------------------------------- 现在,各位就可以根据自己需要使用这两种方法来取得随机数了^_^
另外,还要提示一下各位,关于随机取得表中任意N条记录的方法,很简单,就用newid():
select top N * from table_name order by newid() ----N是一个你指定的整数,表是取得记录的条数
原文地址: https://www.linuxprobe.com/sqlserver-random-number.html
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 一键分发工具哪个最好用?视频文章都可发布,很实用!
一键分发工具哪个最好用?视频文章都可发布,很实用!
26-03-02 - 一台电脑登录多个头条账号的方法,用这个软件很方便!
一台电脑登录多个头条账号的方法,用这个软件很方便!
26-03-02 - SQLserver 2008 环境下AM8数据库log清理
SQLserver 2008 环境下AM8数据库log清理
26-03-02 - 今日头条怎么发小视频?这个一键上传软件很好用(自媒体通用)
今日头条怎么发小视频?这个一键上传软件很好用(自媒体通用)
26-03-02 - Windows 10家庭版升级专业版方法图解详细步骤
Windows 10家庭版升级专业版方法图解详细步骤
26-03-02 - 海康威视iVMS-4200报警联动上墙设置方法图解教程
海康威视iVMS-4200报警联动上墙设置方法图解教程
26-03-02 - HDMI线序接法图解_HDMI接口线序与接头线序引脚定义
HDMI线序接法图解_HDMI接口线序与接头线序引脚定义
26-03-02 - HDMI是干什么用的_HDMI是什么线
HDMI是干什么用的_HDMI是什么线
26-03-02 - SQLServer邮件预警
SQLServer邮件预警
26-03-02 - SQL Server数据库mdf文件中了勒索病毒*.mdf.c4h
SQL Server数据库mdf文件中了勒索病毒*.mdf.c4h
26-03-02
