1. rand()函數怎麼使用
rand()函數是取0~1之間的數!你要取1~100的話就寫rand()*100
2. mysql rand()函數能使用有效的參數么
1、RAND()函數調用可以在0和1之間產生一個隨機數:
3. MySQL中的RAND()函數使用詳解
這篇文章主要介紹了MySQL中的RAND()函數使用詳解,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
MySQL
RAND()函數調用可以在0和1之間產生一個隨機數:
?
1
2
3
4
5
6
7
mysql
SELECT
RAND(
),
RAND(
),
RAND(
);
+------------------+-----------------+------------------+
|
RAND(
)
|
RAND(
)
|
RAND(
)
|
+------------------+-----------------+------------------+
|
0.45464584925645
|
0.1824410643265
|
0.54826780459682
|
+------------------+-----------------+------------------+
1
row
in
set
(0.00
sec)
當調用一個整數參數時,RAND()使用該隨機數發生器種子值。每次在給定值種子生成,RAND()會產生一個可重復的一系列數字:
?
1
2
3
4
5
6
7
mysql
SELECT
RAND(1),
RAND(
),
RAND(
);
+------------------+------------------+------------------+
|
RAND(1
)
|
RAND(
)
|
RAND(
)
|
+------------------+------------------+------------------+
|
0.18109050223705
|
0.75023211143001
|
0.20788908117254
|
+------------------+------------------+------------------+
1
row
in
set
(0.00
sec)
可以使用ORDER
BY
RAND(),隨機組行或值如下:
要了解ORDER
BY
RAND()函數,
假設EMPLOYEE_TBL的表有以下記錄:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
mysql
SELECT
*
FROM
employee_tbl;
+------+------+------------+--------------------+
|
id
|
name
|
work_date
|
daily_typing_pages
|
+------+------+------------+--------------------+
|
1
|
John
|
2007-01-24
|
250
|
|
2
|
Ram
|
2007-05-27
|
220
|
|
3
|
Jack
|
2007-05-06
|
170
|
|
3
|
Jack
|
2007-04-06
|
100
|
|
4
|
Jill
|
2007-04-06
|
220
|
|
5
|
Zara
|
2007-06-06
|
300
|
|
5
|
Zara
|
2007-02-06
|
350
|
+------+------+------------+--------------------+
7
rows
in
set
(0.00
sec)
現在使用以下目錄:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
mysql
SELECT
*
FROM
employee_tbl
ORDER
BY
RAND();
+------+------+------------+--------------------+
|
id
|
name
|
work_date
|
daily_typing_pages
|
+------+------+------------+--------------------+
|
5
|
Zara
|
2007-06-06
|
300
|
|
3
|
Jack
|
2007-04-06
|
100
|
|
3
|
Jack
|
2007-05-06
|
170
|
|
2
|
Ram
|
2007-05-27
|
220
|
|
4
|
Jill
|
2007-04-06
|
220
|
|
5
|
Zara
|
2007-02-06
|
350
|
|
1
|
John
|
2007-01-24
|
250
|
+------+------+------------+--------------------+
7
rows
in
set
(0.01
sec)
mysql
SELECT
*
FROM
employee_tbl
ORDER
BY
RAND();
+------+------+------------+--------------------+
|
id
|
name
|
work_date
|
daily_typing_pages
|
+------+------+------------+--------------------+
|
5
|
Zara
|
2007-02-06
|
350
|
|
2
|
Ram
|
2007-05-27
|
220
|
|
3
|
Jack
|
2007-04-06
|
100
|
|
1
|
John
|
2007-01-24
|
250
|
|
4
|
Jill
|
2007-04-06
|
220
|
|
3
|
Jack
|
2007-05-06
|
170
|
|
5
|
Zara
|
2007-06-06
|
300
|
+------+------+------------+--------------------+
7
rows
in
set
(0.00
sec)
4. rand函數怎麼用
打開Excel,然後點擊插入函數,假設在這個函數裡面,然後插入這個函數就可以使用了。
5. MySQL中的RAND()函數使用詳解
MySQL
RAND()函數調用可以在0和1之間產生一個隨機數:
mysql>
SELECT
RAND(
),
RAND(
),
RAND(
);
+------------------+-----------------+------------------+
|
RAND(
)
|
RAND(
)
|
RAND(
)
|
+------------------+-----------------+------------------+
|
0.45464584925645
|
0.1824410643265
|
0.54826780459682
|
+------------------+-----------------+------------------+
1
row
in
set
(0.00
sec)
當調用一個整數參數時,RAND()使用該隨機數發生器種子值。每次在給定值種子生成,RAND()會產生一個可重復的一系列數字:
mysql>
SELECT
RAND(1),
RAND(
),
RAND(
);
+------------------+------------------+------------------+
|
RAND(1
)
|
RAND(
)
|
RAND(
)
|
+------------------+------------------+------------------+
|
0.18109050223705
|
0.75023211143001
|
0.20788908117254
|
+------------------+------------------+------------------+
1
row
in
set
(0.00
sec)
可以使用ORDER
BY
RAND(),隨機組行或值如下:
要了解ORDER
BY
RAND()函數,
假設EMPLOYEE_TBL的表有以下記錄:
mysql>
SELECT
*
FROM
employee_tbl;
+------+------+------------+--------------------+
|
id
|
name
|
work_date
|
daily_typing_pages
|
+------+------+------------+--------------------+
|
1
|
John
|
2007-01-24
|
250
|
|
2
|
Ram
|
2007-05-27
|
220
|
|
3
|
Jack
|
2007-05-06
|
170
|
|
3
|
Jack
|
2007-04-06
|
100
|
|
4
|
Jill
|
2007-04-06
|
220
|
|
5
|
Zara
|
2007-06-06
|
300
|
|
5
|
Zara
|
2007-02-06
|
350
|
+------+------+------------+--------------------+
7
rows
in
set
(0.00
sec)
現在使用以下目錄:
mysql>
SELECT
*
FROM
employee_tbl
ORDER
BY
RAND();
+------+------+------------+--------------------+
|
id
|
name
|
work_date
|
daily_typing_pages
|
+------+------+------------+--------------------+
|
5
|
Zara
|
2007-06-06
|
300
|
|
3
|
Jack
|
2007-04-06
|
100
|
|
3
|
Jack
|
2007-05-06
|
170
|
|
2
|
Ram
|
2007-05-27
|
220
|
|
4
|
Jill
|
2007-04-06
|
220
|
|
5
|
Zara
|
2007-02-06
|
350
|
|
1
|
John
|
2007-01-24
|
250
|
+------+------+------------+--------------------+
7
rows
in
set
(0.01
sec)
mysql>
SELECT
*
FROM
employee_tbl
ORDER
BY
RAND();
+------+------+------------+--------------------+
|
id
|
name
|
work_date
|
daily_typing_pages
|
+------+------+------------+--------------------+
|
5
|
Zara
|
2007-02-06
|
350
|
|
2
|
Ram
|
2007-05-27
|
220
|
|
3
|
Jack
|
2007-04-06
|
100
|
|
1
|
John
|
2007-01-24
|
250
|
|
4
|
Jill
|
2007-04-06
|
220
|
|
3
|
Jack
|
2007-05-06
|
170
|
|
5
|
Zara
|
2007-06-06
|
300
|
+------+------+------------+--------------------+
7
rows
in
set
(0.00
sec)
6. rand()函數如何使用
srand函數是隨機數發生器的初始化函數,原型:
void srand(unsigned seed);
它需要提供一個種子,如:
srand(1);
直接使用1來初始化種子。
不過常常使用系統時間來初始化,即使用
time函數來獲得系統時間,它的返回值為從 00:00:00 GMT, January 1, 1970
到現在所持續的秒數,然後將time_t型數據轉化為(unsigned)型在傳給srand函數,即:
srand((unsigned) time(&t));
還有一個經常用法,不需要定義time_t型t變數,即:
srand((unsigned) time(NULL));
直接傳入一個空指針,因為你的程序中往往並不需要經過參數獲得的t數據。
srand((int)getpid());
使用程序的ID(getpid())來作為初始化種子,在同一個程序中這個種子是固定的
隨機輸出十個0-100之間的整數
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main( void )
{
int i,k;
srand( (unsigned)time( NULL ) );
for( i = 0; i < 10;i++ )
{
k=rand()%100;
printf( " k=%d\n", k );
}
}
7. mysql rand()函數
RAND()
RAND(N)
返回在范圍0到1.0內的隨機浮點值。
如果一個整數參數N被指定,它被用作種子值。
每個種子產生的隨機數序列是不同的
8. mysql rand()函數的范圍是多少
返回0到1之間的隨機小數 ,包括0 不包括1, 兩個相同的RAND()返回的數值不同,兩個相同的RAND(X),只要裡面的X一樣,返回數就相同。
9. rand函數的用法
srand((unsigned)time(NULL))則使用系統定時/計數器的值作為隨機種子。每個種子對應一組根據演算法預先生成的隨機數,所以,在相同的平台環境下,不同時間產生的隨機數會是不同的,相應的,若將srand(unsigned)time(NULL)改為srand(TP)(TP為任一常量),則無論何時運行、運行多少次得到的「隨機數」都會是一組固定的序列,因此srand生成的隨機數是偽隨機數。
庫函數中系統提供了兩個函數用於產生隨機數:srand()和rand()。 原型為:
函數一:int rand(void);
返回一個[0,RAND_MAX]間的隨機整數。
函數二:void srand(unsigned seed);
參數seed是rand()的種子,用來初始化rand()的起始值。
但是,要注意的是所謂的「偽隨機數」指的並不是假的隨機數。其實絕對的隨機數只是一種理想狀態的隨機數,計算機只能生成相對的隨機數即偽隨機數。計算機生 成的偽隨機數既是隨機的又是有規律的 —— 一部份遵守一定的規律,一部份則不遵守任何規律。比如「世上沒有兩片形狀完全相同的樹葉」,這體現到了事物的特性 —— 差異性;但是每種樹的葉子都有近似的形狀,這正是事物的共性 —— 規律性。從這個角度講,我們就可以接受這樣的事實了:計算機只能產生偽隨機數而不是絕對的隨機數。
10. rand在SQL中的用法
在查詢分析器中執行:select rand(),可以看到結果會是類似於這樣的隨機小數:0.776282033621286,像這樣的小數在實際應用中用得不多。
一般要取隨機數都會取隨機整數。
那就看下面的兩種隨機取整數的方法:
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