SQL語句生成隨機數的方法

SQL中的隨機函數rand(),屬於SQL Server,我實在MySQL、Oracle和ODPS中進行的測試,請自行甄別,有的沒有這個函數

比較 CEILING 和 FLOOR
CEILING 函數返回大於或等於所給數字表達式的最小整數。FLOOR 函數返回小於或等於所給數字表達式的最大整數。例如,對於數字表達式 12.9273,CEILING 將返回 13,FLOOR 將返回 12。FLOOR 和 CEILING 返回值的數據類型都與輸入的數字表達式的數據類型相同。

隨機小數

SELECT RAND()

0.8342308279445682

隨機0-99之間的整數(mysql沒成功,ODPS成功)

SELECT CAST(FLOOR(RAND() * 100 ) AS INT )

0

隨機1-100之間的整數(mysql沒成功)

select cast(ceiling(rand() * 100) as int)

1

隨機整數

# 100內
SELECT floor(rand()*100)

85
# 1000內
SELECT floor(rand()*1000)

923

隨機一位數字,保留兩位小數

SELECT ROUND(RAND()*10,2)

隨機兩位數字,保留兩位小數

SELECT ROUND(RAND()*100,2)

92.33

UUID

默認帶橫線(36位),形如abaffaca-fd55-11e5-b3d0-d2c510923c15

SELECT UUID()

生成32位不帶橫線UUID

SELECT REPLACE(UUID(),'-','')

字符串拼接

SELECT CONCAT('測試_',REPLACE(UUID(),'-',''))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章