SQL随机函数newID()和RAND()详解

MySQL、Oracle 生成随机ID、随机数、随机字符串 阅读详情

转载:http://blog.youkuaiyun.com/fengloveyun/archive/2008/12/13/3509760.aspx

 

随机函数:newid()

 

SELECT * FROM Northwind..Orders ORDER BY NEWID()

  --随机排序

  SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID()

  --从Orders表中随机取出10条记录  

  示例  

  A.对变量使用 NEWID 函数

  以下示例使用 NEWID() 对声明为 uniqueidentifier 数据类型的变量赋值。在测试 uniqueidentifier 数据类型变量的值之前,先输出该值。

  -- Creating a local variable with DECLARESET syntax.

  DECLARE @myid uniqueidentifier

  SET @myid = NEWID()

  PRINT 'Value of @myid is '+ CONVERT(varchar(255), @myid)

  下面是结果集:

  Value of @myid is 6F9619FF-8B86-D011-B42D-00C04FC964FF

  注意:

  NEWID 对每台计算机返回的值各不相同。所显示的数字仅起解释说明的作用。  

随机函数:rand()

  在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。那就看下面的两种随机取整数的方法:   

  1、

  A:select floor(rand()*N) ---生成的数是这样的:12.0

  B:select cast( floor(rand()*N) as int) ---生成的数是这样的:12   

  2、

  A:select ceiling(rand() * N) ---生成的数是这样的:12.0

  B:select cast(ceiling(rand() * N) as int) ---生成的数是这样的:12   

  其中里面的N是一个你指定的整数,如100,可以看出,两种方法的A方法是带有.0这个的小数的,而B方法就是真正的整数了。

大致一看,这两种方法没什么区别,真的没区别?其实是有一点的,那就是他们的生成随机数的范围:

  方法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是一个你指定的整数,表是取得记录的条数.

确定性快速排序与随机化快速排序的比较 在输入序列个数、排序情况不同的情况下对确定性快速排序与随机化快速排序的比较。比较他们的运行时间,验证是否与理论相符。 立即下载

相关推荐

独立游戏开发者必看:STEAM税务信息更新全流程(附中国区避坑指南)

本文为独立游戏开发者详细解析了Steam税务信息更新的全流程,重点针对中国区开发者提供了避坑指南。文章深入解释了W-8BEN表格的填写要点,并指导如何准备个人所得税纳税记录和身份证等核心证明文件,以确保顺利通过审核,避免收入被预扣税款。

tcp8optimizer的博客 1281

在数据库中生成随机id

随机生成id的方法是 :uuid() ,但是这么生成是这样的:'d72065b8-5259-11e7-9937-08002715a3e7',中间会有一个 ‘-’需要用 replace(uuid(),"-","") 这个方法转换一下,就会是这样的了:‘d72065b8525911e7993708002715a3e7’。...

wuxianzhenjia的博客 2万+

前端监控体系:从Sentry到LogRocket错误追踪

Sentry是一款开源的实时错误追踪系统,支持多种语言和框架,包括JavaScript、React、Vue等。它提供了丰富的错误信息、堆栈跟踪和环境数据,帮助开发者快速定位和解决问题。LogRocket是一款前端监控和用户行为分析工具,它提供了视频回放、性能监控、错误追踪等功能。与Sentry不同,LogRocket更注重用户行为的全面分析。前端监控体系是确保应用稳定性和用户体验的重要保障。通过集成Sentry和LogRocket等监控工具,开发者可以实时追踪应用中的错误和用户行为,快速定位和解决问题。

shejizuopin的博客 1313

SQL Server中生成随机ID

SQL Server中生成随机ID的函数是newId(),但是这样生成出来的随机ID是36位带【-】符号的。 select newId(); – 746516E0-95D6-4BAF-8826-6C2F76E9C2AB 我们可以配合replace()函数替换掉【-】符号来生成32位的不带【-】符号的随机ID。 select replace(newId(), ‘-’, ‘’); – 157C42D56FAE4220900A9E8D600F6097 我们也可以配合lower()函数将小写字母转换为大写。 sel

weixin_42579159的博客 2233

飞牛Docker部署Zerotier后无法访问?三步搞定SSH权限配置!

本文详细解析了在飞牛NAS上通过Docker部署Zerotier后无法访问的常见问题及解决方案。重点介绍了SSH权限配置、tun模块加载和Docker容器权限设置等关键步骤,帮助用户快速解决虚拟网络接口的权限问题,确保Zerotier节点间的正常通信。

qq_27496129的博客 788

卷积神经网络-猫狗识别(附源码)

利用python实现一个卷积神经网络,训练猫狗数据集,实现对猫狗图片的预测识别

m0_63223213的博客 2万+

hive sql自动生成id的两种方法随机id和自增id

文章目录1.生成自增id:row number() over(order by)2.随机不重复id: regexp_replace(reflect('java.util.UUID','randomUUID'),'-','') 1.生成自增id:row number() over(order by) 使用窗口函数来生成自增id是比较常见的手法 select * from yc_test1 grade_id subject_name max_score 1 语文 98 2 数学 95 2 政治 87 5

mantoli的博客 1万+

VMware Horizon 8 2111 部署系列(九)创建即时克隆桌面池

即时克隆桌面池是在 vCenter Server 中使用 vmFork 技术(称为即时克隆 API)从最佳配置映像创建的自动桌面池。即时克隆共享同一个基础映像虚拟机,使用基础映像虚拟机的快照创建的,它使用的存储空间也少于完整虚拟机。 即时克隆始终保持开机状态,并在注销后从当前发布的映像重新创建。...

白昼的技术专栏 4042

mysql newid函数_sql随机函数newID()和RAND()详解

sql 随机函数newid()和rand()详解* from northwind..orders order by newid()下者效率要高些select top 10 *,newid() as random from ywle where ywlename='001' ordey by random--随机排序select top 10 * from...

weixin_36256978的博客 2529

第4篇:使用 NModbus 库快速搭建 Modbus TCP 通信(从零开始用 C# 开发 Modbus 上位机)

本文介绍了如何使用 NModbus 库快速搭建 Modbus TCP 上位机通信程序。通过安装 NModbus4 NuGet 包,开发者可以轻松实现 Modbus TCP 连接,无需手动处理底层协议细节。文章详细演示了核心功能实现: 创建 TCP 客户端连接设备 读取保持寄存器(功能码0x03) 写入单个寄存器(功能码0x06) 关闭连接释放资源 提供完整C#示例代码,包含初始化连接、数据读写等关键操作,帮助开发者快速构建Modbus TCP通信应用。相比手动实现,NModbus库大幅简化了开发流程,特别适

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1044

基于 PCL 的工业盒体点云精准分割

本文提出一种基于PCL点云库的工业盒体点云分割算法,采用由粗到精的分层策略解决传统方法在噪声、稀疏和堆叠场景下的分割问题。算法通过区域生长粗分割、RANSAC平面筛选、球面回溯补全、凹包边界提取和圆柱回溯精分割五大核心模块,充分利用盒体几何先验特征,实现高效精准的分割效果。文章详细阐述了算法流程、参数调优指南及工程化要点,指出该方法相比深度学习具有速度快、鲁棒性强、部署简单的优势。同时分析了算法在倾斜、异形目标上的局限性,并展望了结合深度学习特征的混合模型发展方向。该算法为工业自动化场景中的3D视觉检测提供

weixin_45196569的博客 171

SQL两个随机函数newID()和RAND()的示例比较

在SQL语言中,随机函数NEWID和rand()用法并不相同,下面就将为您示例分析这两个随机函数的区别,供您参考,希望对您深入理解SQL函数能起到作用。 例句: SELECT * FROM TABLENAME ORDER BY NEWID() --随机排序 SELECT TOP 10 * FROM TABLENAME ORDER BY NEWI

yuzuodeyunwcj的专栏 553

图文详解Trae配置Java开发环境

本文介绍了Trae开发工具的安装配置流程:首先从官网下载安装Trae,然后安装Java开发所需的Extension Pack for Java和Spring Boot Extension Pack插件。关键步骤包括修改settings.json配置文件,需指定JDK路径、Maven可执行文件路径和用户设置文件路径。所有操作均配有图示说明,并强调要替换为实际电脑路径。

谷哥的小弟 5991

sqlserⅴer随机函数_sql server的随机函数newID()和RAND()

Select * FROM Northwind..Orders orDER BY NEWID() ------随机排序Select TOP 10 * FROM Northwind..Orders orDER BY NEWID() ------从Orders表中随机取出10条记录示例A、对变量使用 NEWID 函数以下示例使用 NEWID() 对声明为 uniqueidentifier 数据类型的变...

weixin_39948824的博客 344

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

newid mysql_sql 随机函数newID()和RAND()详解

sql 随机函数newid()和rand()详解* from northwind..orders order by newid()下者效率要高些select top 10 *,newid() as random from ywle where ywlename='001' ordey by random--随机排序select top 10 * from...

weixin_32503491的博客 377

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SQL server 之随机函数NEWID()和RAND()

一、 我们团队最近为旅行包组织完成了一个项目,因为这个项目,我们受到了很多客户热情洋溢的感谢信和E-mail。我们将这些赞扬保存在一个称之为Kudos的荣誉表中。 在网站设计阶段,我们决定利用Kudos表在网站上显示客户的反馈信息。而显示的时候只需要10条记录,但是我们不希望只能显示那固定的几条反馈信息,因为它有些恼人并且需要维护。所以我们选择随机方法挑出10条记录。将在下面给你讲解在SQL

简介 2571

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

mysql 随机记录 newid(),sql 随机函数newID()和RAND()详解

sql 随机函数newid()和rand()详解* from northwind..orders order by newid()下者效率要高些select top 10 *,newid() as random from ywle where ywlename='001' ordey by random--随机排序select top 10 * from...

weixin_39703773的博客 305

sql 的随机函数newID()和RAND()

sql 的随机函数newID()和RAND()sql server的随机函数newID()和RAND()     SELECT * FROM Northwind..Orders ORDER BY NEWID()   --随机排序   SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID()   --从Orders表中随机取出10条记录     ...

weixin_30367945的博客 77

SQL server 内置函数之随机函数newid()和rand()

从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid() order by 一般是根据某一字段排序,newid()的返回值 是uniqueidentifier ,order by newid()随机选取记录是如何进行的 newid()在扫描每条记录的时候都生成一个值, 而生成的值是随机的, 没有大小写顺序. 所以最终结果再按这个排序, 排序的

别样的风采是我 2万+

sql随机函数newID()和RAND()

 sql server的随机函数newID()和RAND()     SELECT * FROM Northwind..Orders ORDER BY NEWID()   --随机排序   SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID()   --从Orders表中随机取出10条记录     示例     A.对变量使...

weixin_30588827的博客 89

sql server的随机函数newID()和RAND()

sql server的随机函数newID()和RAND()SELECT * FROM Northwind..Orders ORDER BY NEWID() --随机排序 SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID() --从Orders表中随机取出10条记录 示例 A.对变量使用 NEWID 函数以下示例使用 NEWID() 对声明为...

wuyisky 200
上一篇: 有关cast的SQL语句
下一篇: Struts1.x系列教程:用MyEclipse开发第一个Struts程序
cg_program
博客等级 码龄19年 245粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值