2
A
回答
3
將大於0的任何值傳遞給此表達式將每次產生1。爲了做到你想要什麼,你需要自己圓結果:
select convert(bit, round(1*rand(),0))
這會給你一個隨機0
或1
bit
值。
+1
'rand()'只對每個查詢進行一次評估,所以所有的列值都是相同的。 – 2011-01-05 15:23:42
1
如果你是SQL Server 2008上,您可以使用
CAST(CAST(CRYPT_GEN_RANDOM(1) AS int)%2 AS BIT)
對於先前的版本,你可以使用
CAST(CAST(CHECKSUM(NEWID()) AS int)%2 AS BIT)
0
如果你需要多行,而你不在乎關於值的具體分佈,類似下面的內容可能是合適的:
CONVERT(bit,SUBSTRING(CONVERT(binary(18),newid()),1,1)&1)
這將每行一次評估
相關問題
- 1. 生成CSV只設1場
- 2. 如何獲得隨機nubmer +1或-1(只需要它爲「+」或「 - 」)
- 3. PC/Mac如何爲0或1生成隨機數?
- 4. 正在將IEnumerable強制轉換爲ArrayList O(N)或O(1)?
- 5. 如何生成1比1的源圖?
- 6. 哈希表O(1)攤銷或O(1)平均攤銷?
- 7. C:在O中設置整數的第i位爲1(1)
- 8. 如何在列中生成Null或int?
- 9. 生成列表的長度1..1 /串
- 10. 如何設置位域成員的所有位爲1
- 11. 隨機生成1或-1(正整數或負整數)
- 12. 無法生成.o文件
- 13. 如何生成一個特定元素爲1,其餘爲0的列表?
- 14. 2D陣列只有0或1
- 15. C#位到位異或文件I/O
- 16. 如何爲列生成標題?
- 17. 如何在恆定時間O(1)中爲隊列列表實現檢查成員方法?
- 18. 爲SKSpriteNode生成位置
- 19. 生成位圖爲 - BLOB
- 20. 如何爲32位和64位創建單個生成文件?
- 21. 如何更改我的鏈接列表插入功能從O(N)到O(1)
- 22. 生成,從1到1
- 23. JDBC,MySQL:將位變成BIT(M!= 1)列
- 24. 如何在.NET中生成1版Guid?
- 25. 如何爲生命遊戲生成隨機起始位置?
- 26. 如何生成具有值1/1/11的軸1/1/12 1/1/13
- 27. O(1)標準或升壓列表連接
- 28. 哪一個更好? O(n^1/2)或O(logn)
- 29. 是C++語句的大-O'delete [] Q;' O(1)或O(n)?
- 30. haskell長度運行時間O(1)或O(n)
表達'2 * RAND()'將產生0和2之間 – 2011-01-05 15:22:00
隨機值你應該知道,蘭特()(沒有傳遞給它的種子值,或總傳遞相同的種子值)將爲整個查詢返回一個值 - 所以如果您生成多行,它們將獲得相同的值。 – 2011-01-05 15:26:19