位置: 编程技术 - 正文

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修改数据)

  • 增值税开票软件怎么升级最新版
  • 出售无形资产取得的收益属于收入吗
  • 收入和费用类科目一般设置为什么辅助核算
  • 小规模纳税申报时间
  • 公司无收入费用如何做账务处理核算?
  • 土地增值税预缴政策
  • 建筑业暂估成本表
  • 买的厨房用品算什么费用
  • 年终奖和当月工资合并申报税
  • 小规模纳税人税收优惠政策
  • 政府机关有纳税识别号吗
  • 促销服务费经营范围怎么写
  • 属于资金的筹资方式是
  • 承兑汇票背书用什么方法?
  • 金蝶迷你版年结账套怎么结转下年
  • 企业职工集资款的认定标准
  • 土地增值税的土地成本要扣除增值税吗
  • 原始凭证与记账凭证的填制实验报告
  • 如何激活windows11专业版?
  • win11如何多窗口
  • 贷款逾期了利息和罚息可以不还吗
  • 企业送礼怎么办
  • 资产负债表中的固定资产怎么算
  • 苹果macbook 系统
  • vagrant 安装centos7
  • 小规模纳税人销售商品会计分录
  • 代驾服务费如何计算
  • 孕妇能吃荔枝吗 孕晚期
  • 没有购入发票可以开出发票
  • 签合同要注意些什么
  • 海恩斯科普简介
  • 堡垒封印
  • php 数组
  • 暂估和开票的差别是什么
  • vue 富文本编辑框
  • js中数组方法有哪些
  • php读取文件内容的方法和函数
  • 招待费超出部分的分录
  • php微信分享源码
  • 企业日常费用支出明细表
  • 只有发票没有银行怎么办
  • 垃圾袋发票税收分类编码
  • 2021增值税发票怎么开步骤
  • 小规模小于30万之前计提的税金及附加税
  • 税务登记程序有哪些
  • mysql sql性能调优的方法
  • mysql怎么恢复数据
  • 固定资产办理竣工结算之后的处理方式
  • 简易计税指的是增值税吗
  • 进口货物的会计分录
  • 财务管理考试时间不够怎么办
  • 印花税记入哪个费用
  • 银行抵债资产如何更快处置
  • 个体户所得税税率多少
  • 未分配利润科目余额在借方还是贷方
  • 公司把钱打到银行了,银行未打到我工资卡
  • 收到党支部经费如何做账
  • 企业取得租车发票
  • 当月作废的采购发票已认证账务如何处理?
  • 销售费用和管理费用的税前扣除
  • 怎么卸载xp系统安装win7系统
  • ubuntu16安装vnc
  • win8换win10系统步骤
  • linux socket 常用函数小结
  • centos6.5无法启动
  • win7开机总是自检
  • win1020h2版本是正式版吗
  • win7系统升级win10教程
  • win7系统桌面不能新建文件夹
  • win7双击有声音
  • linux安装有几种方法
  • unity ar sdk
  • nodejs 获取命令行参数
  • nodejs image
  • android studio乱码怎么解决
  • jQuery+ajax读取并解析XML文件的方法
  • python的math模块只有pass
  • 变更主管税务机关需要注销吗
  • 河南个人医保缴费查询
  • 本季度可以弥补上季度亏损吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设