`
tianhandigeng
  • 浏览: 374370 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SQL中随机数函数rand()简介

阅读更多

 

下文将为您介绍SQL 中的随机函数rand(),供您参考,如果您是才接触SQL Server的新手,不妨一看,相信对您学习SQL中的函数会大有帮助。

在SQL Server中,有个随机函数rand(),有不少新手可能不知道存在这个函数,现在我就把这个函数的一些随机数生成技巧写出来,这是面向菜鸟的,老鸟请不要拍砖呀,我的头还不够硬
不过还是希望老鸟们多多指教了,现在切入正题: 
随机函数:rand() 
在查询分析器中执行: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 返回值的数据类型都与输入的数字表达式的数据类型相同。 
---------------------------------------------------------------------------------- 
现在,各位就可以根据自己需要使用这两种方法来取得随机数了^_^ 
另外,还要提示一下各位菜鸟,关于随机取得表中任意N条记录的方法,很简单,就用newid(): 
select top N * from table_name order by newid() ----N是一个你指定的整数,表是取得记录的条数 。

 

 

分享到:
评论

相关推荐

    SQL随机数读取,利用rand()函数

    ### SQL随机数读取——利用RAND()函数 在SQL中,有时我们需要生成随机数来用于各种应用场景,比如数据测试、统计分析或是某些特定业务逻辑的需求等。本文将详细介绍如何在SQL中利用`RAND()`函数结合其他函数来生成...

    产生随机数的rand()函数的使用方法.

    产生随机数的rand()函数的使用方法.产生随机数的rand()函数的使用方法.

    SQL server 随机数函数

    现在切入正题: 随机函数:rand() 在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558, 像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。...

    MySQL的指定范围随机数函数rand()的使用技巧

    而在mysql里,随机数函数rand不能传参,产生的0到1之间的浮点数,要是我们需要在mysql产生大于1的随机整数,该怎么办呢? 这样的需求并不陌生,例如,咱做的文章系统,需要作弊,给文章的浏览量随机加上某个范围内的...

    SQL Server中的RAND函数的介绍和区间随机数值函数的实现

    本文主要探讨了如何利用SQL Server的内置函数RAND、CHECKSUM和NEWID来实现这一目标。 RAND()函数是SQL Server中用于生成随机浮点数的工具。它能够返回一个介于0(包括)和1(不包括)之间的浮点数。如果你需要生成...

    sqlserver中常用函数

    ### SQL Server 中常用函数详解 在SQL Server中,掌握常用函数是进行高效数据库操作的关键。本文将详细介绍SQL Server中的一些重要函数,特别是字符串处理相关的函数,帮助读者更好地理解和运用这些功能强大的工具...

    sql server常用函数大全

    11. 随机数函数:`SELECT RAND() VALUE`,返回随机数。 12. 符号函数:`SELECT SIGN(-8) VALUE`,返回符号。 数学常数函数: 13. 圆周率函数:`SELECT PI() VALUE`,返回圆周率。 反三角函数和三角函数: 14. 反...

    17.函数整理(T-SQL 版).pdf

    在本文档中,我们将详细探讨在SQL Server使用的T-SQL(Transact-SQL)中,涉及到的函数的整理。这些函数被分为数学函数和字符串函数两大类,并且详细介绍了每个函数的功能以及它们的基本用法。 一、数学函数 1. 求...

    sql帮助文档函数大全

    - `RAND()`: 生成随机数。 - `NULLIF()`: 如果两个表达式相等,则返回NULL,否则返回第一个表达式。 - `COALESCE()`: 返回第一个非NULL的参数。 这份"SQL函数.chm"手册应该包含了上述所有类型的函数,以及更多...

    SQL Server2000函数大全

    在SQL Server 2000中,函数是执行特定计算或操作的重要组成部分,它们能够帮助数据库管理员和开发人员处理和转换数据。以下是一些主要的SQL Server 2000函数类别及其详细说明: 1. **数值函数**: - `ABS()`: 返回...

    SQL自定义函数讲解

    SQL中的函数是数据库查询和操作的核心工具,它们简化了对数据的操作,提供了各种预定义的计算和转换功能。本文将深入探讨SQL自定义函数的分类、用途以及如何进行相关操作。 首先,我们要理解函数的分类。SQL函数...

    SQLServer2000函数大全<绝对经典>

    - **数值函数**:如`ABS()`用于返回绝对值,`SQRT()`用于求平方根,`RAND()`用于生成随机数。 - **字符串函数**:包括`LEN()`计算字符串长度,`UPPER()`和`LOWER()`转换大小写,`REPLACE()`替换子串,`SUBSTRING()...

    Transact-SQL基本函数集

    PI()函数返回圆周率π的值,而RAND()函数则返回一个随机数。 最后,还有文本处理函数,如SOUNDEX()和DIFFERENCE()函数,它们用于比较字符串并返回它们的相似度。QUOTENAME()函数用于添加必要的转义字符来创建有效...

    sql server常用函数大全下载

    8. **其他函数**:如`NEWID()`生成新的全局唯一标识符(GUID),`RAND()`生成随机数,`ISNULL()`检查值是否为NULL并返回替代值。 了解并熟练运用这些函数,可以帮助我们编写出更高效、更灵活的SQL查询。在实际工作...

    oracle 和sql Server 函数对比

    - SQL Server使用`RAND()`函数,Oracle使用`DBMS_RANDOM.VALUE`包。 - 示例:SQL Server中`SELECT RAND()`;Oracle中`SELECT DBMS_RANDOM.VALUE(0, 1) FROM DUAL`。 14. **符号** - 两者都使用`SIGN`函数。 - ...

    SQL_Server2008函数大全

    - **标量函数**:返回单个值,如`CONVERT()`用于数据类型的转换,`RAND()`生成随机数,`CURRENT_TIMESTAMP`获取当前时间戳。 - **聚合函数**:对一组值进行操作并返回单个结果,如`COUNT()`计算行数,`SUM()`求和...

    SQL语句中使用的函数

    SQL语句中使用的函数 SQL语句中使用的函数是数据库管理系统中用于执行特定操作的预定义函数。这些函数可以在SELECT、WHERE、HAVING等语句中使用,以便于数据的处理和分析。 字符串函数 1. STUFF函数:用来删除...

    Transact-SQL_常用函数

    5. **RAND(seed)**:生成随机数,如果提供了种子,则生成可重复的随机数序列。 6. **POWER(base, exponent)**:计算基数的指数次幂。 7. **SQRT(number)**:计算数字的平方根。 ### 日期时间函数 1. **GETDATE()**...

Global site tag (gtag.js) - Google Analytics