当前位置: 首页 > news >正文

SQL 随机函数 rand() celling,floor

在查询分析器中执行: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 返回值的数据类型都与输入的数字表达式的数据类型相同。

转载于:https://www.cnblogs.com/TNSSTAR/archive/2012/08/31/2664884.html

相关文章:

  • 打造自己的EDM营销客户列表
  • Windows下如何关闭端口
  • 非常期待altera的cycloneV
  • 时间
  • 条件编译
  • 《你能行:微软精英的职场心里话》
  • MySQL 数据库性能优化之表结构优化
  • 什么是野指针?
  • hdu 1555 How many days? (模拟)
  • 编解码学习笔记(十一):Flash Video系列
  • PE文件结构及其加载机制(三)
  • 编解码学习笔记(十二):其他编解码
  • android多媒体学习笔记一
  • 编解码学习笔记(十三):容器(上篇)
  • Linux进程调度原理
  • 网络传输文件的问题
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • gulp 教程
  • IDEA 插件开发入门教程
  • JavaScript异步流程控制的前世今生
  • log4j2输出到kafka
  • PHP 7 修改了什么呢 -- 2
  • Python利用正则抓取网页内容保存到本地
  • 分享几个不错的工具
  • 基于游标的分页接口实现
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用docker-compose进行多节点部署
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ionic入门之数据绑定显示-1
  • kubernetes资源对象--ingress
  • 阿里云ACE认证之理解CDN技术
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ###项目技术发展史
  • #AngularJS#$sce.trustAsResourceUrl
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (二)hibernate配置管理
  • (一)Dubbo快速入门、介绍、使用
  • (一)Java算法:二分查找
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 指南:抽象化实现的基类
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET轻量级ORM组件Dapper葵花宝典
  • @KafkaListener注解详解(一)| 常用参数详解
  • @property括号内属性讲解
  • @RequestMapping 的作用是什么?
  • @RequestMapping用法详解
  • @RequestParam,@RequestBody和@PathVariable 区别