位置: 编程技术 - 正文

sql server中随机函数NewID()和Rand()(sql随机数字)

编辑:rootadmin

推荐整理分享sql server中随机函数NewID()和Rand()(sql随机数字),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlserver随机排序,sql server随机函数,sql生成随机id,sql随机数字,sqlserver随机排序,sql server随机数,sql server随机函数,sqlserver 随机取数据,内容如对您有帮助,希望把文章链接给更多的朋友!

在SQL Server中,随机函数有rand(),NewID(),其中rand是在0到1内随机取数,NewID则是生成随机的uniqueidentifier唯一标识符。

SELECT * FROM Northwind..Orders ORDER BY NEWID() --随机排序

SELECT TOP * FROM Northwind..Orders ORDER BY NEWID() --从Orders表中随机取出条记录

示例

A.对变量使用 NEWID 函数

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

下面是结果集:

Value of @myid is 6FFF-8B-D-BD-CFCFF

注意:

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

随机函数:rand()

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

1、

sql server中随机函数NewID()和Rand()(sql随机数字)

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

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

2、

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

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

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

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

方法1的数字范围:0至N-1之间,如cast( floor(rand()*) as int)就会生成0至之间任一整数

方法2的数字范围:1至N之间,如cast(ceiling(rand() * ) as int)就会生成1至之间任一整数

对于这个区别,看SQL的联机帮助就知了:------------------------------------------------------------------------------------

比较 CEILING 和 FLOOR

CEILING 函数返回大于或等于所给数字表达式的最小整数。FLOOR 函数返回小于或等于所给数字表达式的最大整数。例如,对于数字表达式 .,CEILING 将返回 ,FLOOR 将返回 。FLOOR 和 CEILING 返回值的数据类型都与输入的数字表达式的数据类型相同。----------------------------------------------------------------------------------现在,各位就可以根据自己需要使用这两种方法来取得随机数了^_^

另外,还要提示一下各位菜鸟,关于随机取得表中任意N条记录的方法,很简单,就用newid():

select top N * from table_name order by newid() ----N是一个你指定的整数,表是取得记录的条数.

修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库 具体不废话了,请看下文代码详细说明吧。向表中增加一个varchar列:ALTERTABLEdistributorsADDCOLUMNaddressvarchar();从表中删除一个字段:ALTERTABLEdistributorsDROPCOL

如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQLServer,后来把存储的数据库调整为MySQL,所以需要把SQLServer的数据迁移到MySQL。下面是小编日常

SQLite之Autoincrement关键字(自动递增) SQLite的AUTOINCREMENT是一个关键字,用于表中的字段值自动递增。我们可以在创建表时在特定的列名称上使用AUTOINCREMENT关键字实现该字段值的自动增加。注

标签: sql随机数字

本文链接地址:https://www.jiuchutong.com/biancheng/312139.html 转载请保留说明!

上一篇:使用NotePad++录制宏功能如何快速将sql搜索条件加上前后单引号(notepad+v)

下一篇:修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库(sqlsever修改数据)

  • 增值税发票进销项不一致
  • 主营业务收入科目按其所反映的经济内容不同
  • 登记会计账簿的内容包括
  • 企业投资收益要交哪些税
  • 税率开错情况说明
  • 三栏式明细账科目编号怎么填
  • 房地产企业开发间接费用包括哪些
  • 公司清算后资产负债表与利润表
  • 哪些科目需要计提资产减值损失
  • 增值税销项税如何进行处理,有哪些种情况
  • 公司按揭购车可以抵扣税吗
  • 税控设备维护费怎么填申报表
  • 车辆后期保养费用
  • 期末余额全部转出的有哪些
  • 限售股所得税的优惠政策
  • 第一季度时间范围
  • 固定资产怎么进入生产成本
  • 油漆的消费税
  • 购入商品款项尚未入库
  • vc_runtimeMinimum_x64.msi 找不到的解决方法
  • linux alias永久生效
  • mac系统 硬盘
  • 金融保险属于什么行业
  • 个体户生产经营费用与家庭生活费用无法划分
  • 冲减预付账款是什么意思
  • mac切换不了中文怎么回事
  • windows7怎么操作
  • 借条和欠条的区别 法律效力
  • 机器学习,看这一篇就够了:回归算法,特征工程,分类算法,聚类算法,神经网络,深度学习入门
  • 低值易耗品费用账务处理
  • 会计人员准则
  • 会计申报需要哪些数据
  • php中定义函数
  • 微信小程序开发一个多少钱
  • php处理并发有哪些技术
  • 核定征收的纳税人能否享受六税两费减免
  • 重复上次命令
  • 已交土地使用金的划拨商品房与商品房的的区别
  • 电子发票怎么清盘操作流程
  • notepad+v
  • 收据入帐
  • 企业每月应交哪几种税费
  • 以前年度多缴的税
  • 母公司借款给子公司如何做账
  • 个税申报信息怎么填
  • win10下安装win7启动不了
  • mysql常用命令语句
  • 租赁公司开票没有写数量可以开吗?
  • 固定资产折旧指标有哪些
  • 一个月没钱
  • 专项应付款如何记账
  • 支付货代运费账务处理
  • 起初数据录入
  • 不带息银行汇票
  • 内部往来科目设置在哪类下
  • 风险纳税人去税务局去报税可以吗
  • 代收收入
  • 房租给托管公司
  • 新成立的公司发朋友圈文案
  • 菜品毛利怎么计算
  • win8.1怎么重新装系统
  • 有效减少win8关机时间的方法分享
  • centos安装问题
  • 通过修改注册表来修改chrome配置
  • 电脑windowxp系统重装
  • win10总是锁定
  • 怎样设置win10
  • win10系统怎么调整字体大小
  • win8笔记本电脑投屏方法
  • win10怎么添加游戏手柄
  • window预览
  • linux中nm命令
  • 如何写出一篇游戏活动案例
  • node. js教程
  • cmd命令如何进入d盘
  • eclipse4.9.0安装windowbuilder
  • 备份系统三要素
  • 化妆品的消费税税率是多少
  • 购买服务合同模版
  • 微山湖到底属于哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设