位置: 编程技术 - 正文

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

  • 折旧年限与税法有关吗
  • 季度缴纳企业所得税计算方法
  • 本期免税额怎么填写
  • 企业所得税的营业成本
  • 成本核算需要哪些基础工作
  • 公允价值模式下,投资性房地产不计提折旧或摊销
  • 门面入股做生意
  • 逾期缴纳车辆购置税后情况说明怎么写
  • 红冲上月的其他应收款凭证怎么做?
  • 企业资产净资产
  • 去年的原材料发票能入账吗
  • 收到应收的货款的会计分录
  • 外贸企业可以做委托加工吗
  • 股票期权所得税率
  • 递延和摊销
  • 企业注销时未分配利润怎么处理
  • windows10如何设置锁屏时间
  • 其他应付款调整
  • 怎么清除更新记录
  • 如何设定电脑开机密码锁
  • php常见面试问题
  • 公积金托收怎么变更
  • 企业收到政府出资款交增值税
  • vue 大屏可视化设计 开源
  • 即征即退进项税转出
  • 电子发票记账清单入账
  • 可视化大屏技术
  • 如何用php
  • 设备租赁费属于设备费吗
  • javascript bom dom
  • php curlfile
  • 增值税发票认证不了怎么回事
  • 给员工期权和给股票的区别
  • 包装费和售后服务的区别
  • mongodb中的objectid
  • 计提加计抵减额在财务报表里哪里体现
  • 差旅费报销金额大于实际发生金额
  • 领备用金填什么单子
  • 长期待摊费用核销
  • 建筑劳务公司的进项票有哪些
  • 公司租赁房屋房产税
  • 申请财产损失会计分录
  • 应收帐款的帐务处理流程
  • 并购 投资
  • 其他非流动资产减少的原因
  • 无法收回的款项怎么记账
  • 稀释股权违法吗
  • 到期不续约补偿金怎么算
  • 企业防止股权收益的措施
  • 个人无偿赠与不动产税收管理
  • 什么是固定资产清理
  • 管理会计在企业中的地位如何?为什么
  • 固定资产公司
  • 有存货的公司
  • win10如何利用镜像安装系统
  • 服务器远程超出配置范围
  • centos sync
  • 使用微软
  • ubuntu 10.04安装
  • centos etc
  • ubuntu下添加新用户
  • 自动批处理文件的名字是什么
  • win8任务管理器未响应怎么解决
  • windows10运用
  • prize draw是什么意思
  • 用python写网页
  • jquery 文本框
  • jquery ui dialog替代confirm实例分析
  • 安卓调用蓝牙接口
  • 红杏是什么意思什么样的
  • python函数判断
  • 北京朝阳税务局办税大厅
  • 百旺税控盘怎么清卡成功
  • 什么是契税发票?
  • 我国土地资源总量丰富人均不足
  • 纳税服务投诉整改报告
  • 税务延期申报最长多久
  • 国家税务总局资阳市雁江区税务局
  • 餐饮财务分析表怎么写的啊
  • 个人的车租给公司保险可以入账吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设