sql产生随机数

使用RAND(),结果是类似于这样的随机小数:0.615942003695649

SELECT FLOOR(RAND()*N) ---生成的数是这样的:12.0 
SELECT CAST(FLOOR(RAND()*N) AS INT) ---生成的数是这样的:12

SELECT CEILING(RAND()* N) ---生成的数是这样的:12.0 
SELECT CAST(CEILING(RAND()* N) AS INT) ---生成的数是这样的:12

前两种方法:生成的随机数在0至N-1之间;

后两种方法:生成的随机数在1至N之间。

FLOOR函数返回小于或等于所给数字表达式的最大整数。

CEILING函数返回大于或等于给数字表达式的最小整数。

FLOOR和CFILING返回的数据类型都与输入的数字表达式的数据类型相同。

sql产生随机数

时间: 2025-01-18 11:09:29

sql产生随机数的相关文章

SQL Server 随机数,随机区间,随机抽取数据rand(),floor(),ceiling(),round(),newid()函数等

在查询分析器中执行: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) ---生成的数是这

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

转自:http://database.51cto.com/art/201009/224397.htm 下文将为您介绍SQL中的随机函数rand(),供您参考,如果您是才接触SQL Server的新手,不妨一看,相信对您学习SQL中的函数会大有帮助. 在SQL Server中,有个随机函数rand(),有不少新手可能不知道存在这个函数,现在我就把这个函数的一些随机数生成技巧写出来,这是面向菜鸟的,老鸟请不要拍砖呀,我的头还不够硬 不过还是希望老鸟们多多指教了,现在切入正题:  随机函数:rand(

sql 创建随机数

SELECT Left(Cast(Cast(1000000 * Rand(Cast(NewId() as binary(16))) as int) as nvarchar) + '000000', 6)

SQL生成随机数

--生成随机编号的函数CREATE FUNCTION [dbo].[f_RANDBH](@BHLen int)RETURNS varchar(50)ASBEGIN DECLARE @r varchar(50) IF NOT(ISNULL(@BHLen,0) BETWEEN 1 AND 50) SET @BHLen=10 lb_bh: --生成随机编号的处理 SELECT @r=re FROM v_RAND WHILE LEN(@r)<@BHLen SELECT @[email protected

SQL 十位随机数(大小写字母+数据)

USE [TEST]GO/****** Object: UserDefinedFunction [dbo].[RANDTENNUMS] Script Date: 2019/7/23 15:40:16 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE function [dbo].[RANDTENNUMS]()returns varchar(10)asbeginDECLARE @i int DECLARE @flag intDEC

SQL 中级技术

[转]Sql Server 给表与字段添加描述 SQL server 随机数函数 SQL中@@ROWCOUNT函数 SQL里ROWCOUNT的使用 SQL2008中Merge的用法 SQL 中级技术

SQL Server生成指定范围内的随机数

在开发中很多时候,我们都会遇到这种需要生成一个指定范围随机数的情况.而且在很多语言中比如Java.C#.SQl等,都会有一个函数生成一个类似于0.234273983423789的随机小数,而所有的随机数都是通过这个最基本的随机数(0.234273983423789)变化过来的. 下面我说一下生成指定范围随机数的思路,比如我要生成一个100-999范围内的随机数,我就要保证我写的生成随机数的表达式所生成的值,最大是999,最小是100.还有就是要明白一个数学里的小道理,0.99去乘一个数字所得的结

sql 循环 ,随机数,循环插入一年数据

--循环插入一年的时间 DROP TABLE #temp CREATE TABLE #temp (date DATETIME); DECLARE @year INT SET @year=2019; WITH a1 AS ( SELECT CAST(RTRIM(@year)+'-01-01' AS DATETIME) date UNION ALL SELECT DATEADD(dd,1,date) FROM a1 WHERE DATEPART(yy,DATEADD(dd,1,date))=@yea

SQL 生成6位随机数并MD5加密输出

DECLARE @i INT=0;DECLARE @j INT; DECLARE @qnum INT = 300;   --生成随机数的数量 SET NOCOUNT ONCREATE TABLE #temp_Table(num INT) WHILE(@i<@qnum) BEGIN   SELECT @j = cast( floor(rand()*(999999-100000)+100000) as int)      IF(NOT EXISTS(SELECT num FROM #temp_Tab