2015年7月24日 星期五

[T-SQL] 如何產出0~0.9之間的亂數

說明:
如何產出0~0.9(小數位數1位)之間的亂數。


語法:
SELECT CAST(CAST(NEWID() AS binary(1))%10 AS float)/10

其中NEWID()會產生GUID(32個16進位),將之轉型為1 byte,因此值會在0-255之間,
mod 10後,值會在0-9之間,再除以10,值就會跑在0-0.9之間。


參考資料:
https://msdn.microsoft.com/zh-tw/library/ms190348(v=sql.120).aspx
http://caryhsu.blogspot.tw/2012/08/rand.html

沒有留言:

張貼留言