很多人在开发需求中想获取一个随机数,或者从一组数字中获取一个数, 这个需求很简单,而且有很多方式可以实现,下面就介绍几种常见的方式,以作为笔记或供有需要的人参考.

比如有一组数字: 57 59 63 66 89 92 95,我们要从中随机取出一个:

方法一: 建表
--创建中间表存放随机数字
CREATE TABLE rand_number(id INT IDENTITY,num INT);
INSERT INTO dbo.rand_number
( num )--57 59 63 66 89 92 95
VALUES ( 57 ),( 59 ),( 63 ),( 66 ),( 89 ),( 92 ),( 95 );

取随机数
SELECT  num FROM dbo.rand_number WHERE id=ROUND(RAND()*6+1,0);


方法二: 不建表(CTE虚拟表)
;WITH temp_table AS(
SELECT 1 id,57 num UNION ALL
SELECT 2 id,59 num UNION ALL
SELECT 3 id,63 num UNION ALL
SELECT 4 id,66 num UNION ALL
SELECT 5 id,89 num UNION ALL
SELECT 6 id,92 num UNION ALL
SELECT 7 id,95 num
)
SELECT num FROM temp_table WHERE id=ROUND(RAND()*6+1,0);


方法三: 不建表 (派生表)
SELECT TOP 1 num FROM(
SELECT 57 num UNION ALL
SELECT 59 UNION ALL
SELECT 63 UNION ALL
SELECT 66 UNION ALL
SELECT 89 UNION ALL
SELECT 92 UNION ALL
SELECT 95
)t
ORDER BY NEWID();

 

SQL Server 从一组数字中随机获取一个数的更多相关文章

  1. java 从List<Integer> 中随机获取6个数

    List<Integer> list 为不重复的数字集合,例如:1,2,3,4,5,6,7,8,9,10 从中随机获取不重复的6个数.代码如下. List<Integer> l ...

  2. SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

    操作步骤: 1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击"开始"."运行",然后在"打开&quo ...

  3. 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?

    如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括:如何 ...

  4. SQL点滴12—SQL Server备份还原数据库中的小把戏

    原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support  1 media families, ...

  5. js在数组arr中随机获取count数量的元素

    // 在数组arr中随机获取count数量的元素; const getRandomArrayElements = (arr, num) => { // 新建一个数组,将传入的数组复制过来,用于运 ...

  6. php 从一个数组中随机获取固定数据

    <?php /* * * 通过一个标识,从一个数组中随机获取固定数据 * $arr 数组 * $num 获取的数量 * $time 随机固定标识值,一般用固定时间或者某个固定整型 * */ fu ...

  7. Sql Server与.Net(C#)中星期值对比

    最近发现Sql Server与.Net(C#)中星期值居然不匹配,倒不知道依哪一个了. 1.Sql Server declare @date datetime; set @date = '2017-0 ...

  8. sql server 提取汉字/数字/字母的方法

    sql server 提取汉字/数字/字母的方法 --提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NU ...

  9. 解决VS2010在新建实体数据模型出现“在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误。请与提供程序供应商联系以解决此问题。”的问题

    最近想试着学习ASP.NET MVC,在点击 添加--新建项--Visual C#下的数据中的ADO.NET 实体数据模型,到"选择您的数据连接"时,出现错误,"在 .N ...

随机推荐

  1. Splay&LCT

    Splay && LCT \(\text{Splay}\) 基本操作 1.\(Zig \& Zag\) 其思想是维护中序遍历不变 实现中我们不真的用\(Zig\)或\(Zag\ ...

  2. 鸿蒙OS与微内核

    目前主流面向个人端操作系统都不是像鸿蒙一样采用微内核的,或许在这些操作系统上诞生时面对的需求场景用微内核是行不通的.但在当前场景下是不是能走通要实际验证才知道.面对当前操作系统已成熟的市场生态.专利技 ...

  3. cf1175 D\E

    链接 成功带wxy掉分..全程0输出 D E D 题意 把序列分成连续k段,f(i)表示i这个在第几段 \(\sum\limits_{i=1}^{n}a_i*f(i)\)最大 思路 想象成从k层积木依 ...

  4. C语言中常见的图形打印总结

    直角三角形(靠右直立) 示例实现代码如下: int main(){ int n; int i,j; cin >> n; if(n<= 0){ cout << " ...

  5. GoCN每日新闻(2019-10-29)

    GoCN每日新闻(2019-10-29) GoCN每日新闻(2019-10-29)   1. Go 的发展传奇 https://spf13.com/presentation/the-legacy-of ...

  6. 使用iis部署asp.net core 中的坑

    使用vs2017创建asp.net core mvc 模板网站然后部署到iis上,如果在一直有并发访问的情况下,操作iis重新绑定域名操作,网站会直接挂掉,重启应用池也没用,而且部署到iis上容易出现 ...

  7. Windows通过URL启动本机App

    Windows通过URL启动本机App http://xxx.itdhz.com/?file=001-Windows/100-Windows通过URL启动本机App

  8. yum安装python3.6的方法

    # centos7 # 换成阿里云的yum源 yum -y install epel-release yum repolist yum -y install python36 测试 [root@loc ...

  9. http 请求方式解析

    表单中<form></form>, 如果使用method="get"方式提交,则不会指定请求体编码方式.默认请求参数使用?拼接到url之后.如:http:/ ...

  10. python开发笔记-Python3.7+Django2.2 Docker镜像搭建

    目标镜像环境介绍: 操作系统:ubuntu16.04 python版本:python 3.7.4 django版本:2.2 操作步骤: 1.  本地安装docker环境(略)2. 拉取ubunut指定 ...