位置: 编程技术 - 正文

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

  • 借款利息收入是企业收入吗
  • 事业单位不用纳税吗
  • 法人的垫资在现金流量表中怎么填写
  • 销货清单和送货单的区别
  • 税金及附加期初余额在哪一方
  • 小企业应付职工薪酬核算内容的有
  • 进口环节增值税是中央税还是地方税
  • 存在商业折扣的情况下,应收账款按什么金额入账?
  • 财务预算是做什么的
  • 不同组织的区别主要体现在哪些方面
  • 航空货运单可以由谁来填写
  • 影院分成为什么那么高
  • 购买无形资产的价款超过正常信用
  • 政府补贴转给其他公司
  • 社会组织接受捐赠的资金的使用原则
  • 应交税费计提是借方还是贷方
  • 安家费要还吗
  • 股东入资印花税怎么计算
  • 福利费抵扣了进项税有2年了怎么办
  • 应纳税所得额应纳税额公式
  • 税收优先权的表述
  • 期间损益结转怎么结转
  • 怎么判断要不要交水利基金
  • 发票丢了还可以重开吗
  • 供应商已注销欠的发票怎么办?
  • 查补的增值税如何申报
  • 增值税一般纳税人申报流程
  • 进口报关费用会计分录
  • 如何修改去年的智慧团建评议结果
  • 前端解决方案
  • 工程结算需要哪些施工方案
  • 织梦地图插件
  • 利息补偿金怎么算
  • 加拿大猞猁雪兔
  • php数组内容替换
  • PHP基于国秘s2m加解密的处理方式
  • 实名办税人员承担什么责任
  • element ui
  • 计算md5值命令
  • Github ChatGPT-Web:了解最新AI技术的前沿应用!
  • 查看ntpdate状态
  • 工会经费怎么上缴
  • 分公司利润怎么结转给总公司需要交税
  • 家具入账固定资产怎么算
  • 无效发票进项税额抵扣
  • 印花税计税金额是主营业务收入吗
  • 固定资产货币化,货币资产保险化,保险资产信托化
  • 企业变更股东需要什么手续
  • 劳务报酬需要申报个税吗
  • 月中入职算一个月吗
  • 工资薪金税务缴纳
  • 预期报酬率和期初报酬率
  • 企业收到合同保险怎么办
  • 注会考试模拟机考
  • 生产企业购进的生产原材料用来装修公司会计处理
  • 固定资产和无形资产折旧时间起始
  • 银行印鉴变更申请书范本
  • 借资本公积贷递延所得税负债是什么意思
  • 员工出差的费用怎么算
  • 年报上的从业人数是什么意思
  • 预付卡开不征税发票
  • ubuntu 启动gui
  • windows10iot安装
  • win10系统环境设置
  • 安装yum的命令
  • WIN7快捷键冲突怎么解决
  • win7系统摄像头不可用怎么办
  • 电脑出现内部版本7601怎么办
  • 安卓手机屏幕不好使了怎么办
  • css中div怎么用
  • ie浏览器登录多个账号
  • python函数enumerate
  • shell脚本中执行命令语句
  • 查看系统网络连接数
  • 云南增值税普通发票怎么开
  • 无锡吴氏字辈
  • 以划拨方式取得土地使用权的,转让房地产时
  • 税务局科员是什么职业
  • 京牌车船税网上可以交吗
  • 定额发票怎么查流向
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设