SQL Tips

 

[SQL Server] RAND(ランダム)関数で乱数を取得する方法

MS-SQL / SQL Server
RAND(ランダム)関数で乱数を取得する方法

乱数を取得する方法はRAND関数を使えば簡単にできる。

普通に下記のように作成して実行してみよう。

SELECT RAND()

0から1までの範囲の乱数がfloat型で取得できる。

では、0~99の数字をランダムで取得した場合!


SELECT CONVERT(int,RAND() * 100)

上記のようにすると0~99間の数字がランダムで取得できるのだ。

int型にconvertする理由は整数のみ取得するためだ。

理解ができない人は下記のようにconvertを除いて実行してみた方がいい。

SELECT RAND() * 100

実行してみればCONVERT(int)の意味が分かると思う。

では、0~14間の数字をランダムで取得したい場合は下記のように記述する。

SELECT CONVERT(int,RAND() * 15)

では、0~15間の数字をランダムで取得したい場合は下記のように記述する。

SELECT CONVERT(int,RAND() * 16)

うん??

良く見ると数字が「0」から始まる!

俺は「1」から取得したい!

1~15間の数字をランダムで取得したい場合は下記のように記述する。

SELECT CONVERT(int,RAND() * 15)+1

簡単でしょう?

これを利用して推薦番号取得などで良く使える!!
このエントリーをはてなブックマークに追加
2014-09-24 11:44:51   11875

コメント

[SQL Server] 順位付け関数「RANK」、「DENSE_RANK」について

-.日付:2014-10-15   カテゴリ : -   閲覧数:2188

[SQL Server] DISTINCT - 重複行を除外してデータの取得方法

-.日付:2014-10-03   カテゴリ : -   閲覧数:2885

[SQL Server] DATETIME データ型のミリ秒に関する注意事項

-.日付:2014-10-01   カテゴリ : -   閲覧数:3105

[SQL Server] RAND(ランダム)関数で乱数を取得する方法

-.日付:2014-09-24   カテゴリ : -   閲覧数:11875

[SQL Server] 順位付け関数「ROW_NUMBER」について

-.日付:2014-09-17   カテゴリ : -   閲覧数:2562

[SQL Server] LIKEで「_」、「%」が入った文字を検索する方法

-.日付:2014-09-17   カテゴリ : -   閲覧数:3962

[SQL Server] SQL Server CPU 使用率が高いクエリを検索する方法

-.日付:2014-09-12   カテゴリ : -   閲覧数:7043

[SQL Server] 既存のテーブルにPrimary Key(PK)を設定する方法

-.日付:2014-08-20   カテゴリ : -   閲覧数:2028

[SQL Server] テーブルの一覧を取得する方法 - Table List

-.日付:2014-08-14   カテゴリ : -   閲覧数:2253

Copyright © 2015 INNOYA.COM All rights reserved. RSS