首頁 資料庫 mysql教程 SQL中随机数函数rand()简介

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

Jun 07, 2016 pm 03:07 PM
rand sql 介紹 函數 簡介 隨機數

下文将为您介绍SQL中的随机 函数 rand(),供您参考,如果您是才接触SQL Server的新手,不妨一看,相信对您学习SQL中的 函数 会大有帮助。 在SQL Server中,有个随机 函数 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是一个你指定的整数,表是取得记录的条数 。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

golang函數動態建立新函數的技巧 golang函數動態建立新函數的技巧 Apr 25, 2024 pm 02:39 PM

golang函數動態建立新函數的技巧

C++ 函數命名中參數順序的考慮 C++ 函數命名中參數順序的考慮 Apr 24, 2024 pm 04:21 PM

C++ 函數命名中參數順序的考慮

如何在Java中寫出高效和可維護的函數? 如何在Java中寫出高效和可維護的函數? Apr 24, 2024 am 11:33 AM

如何在Java中寫出高效和可維護的函數?

excel函數公式大全 excel函數公式大全 May 07, 2024 pm 12:04 PM

excel函數公式大全

C++ 函式預設參數與可變參數的優缺點比較 C++ 函式預設參數與可變參數的優缺點比較 Apr 21, 2024 am 10:21 AM

C++ 函式預設參數與可變參數的優缺點比較

三星S24ai功能詳細介紹 三星S24ai功能詳細介紹 Jun 24, 2024 am 11:18 AM

三星S24ai功能詳細介紹

自訂 PHP 函數和預定義函數之間有什麼區別? 自訂 PHP 函數和預定義函數之間有什麼區別? Apr 22, 2024 pm 02:21 PM

自訂 PHP 函數和預定義函數之間有什麼區別?

C++ 函式異常進階:客製化錯誤處理 C++ 函式異常進階:客製化錯誤處理 May 01, 2024 pm 06:39 PM

C++ 函式異常進階:客製化錯誤處理

See all articles