2012-03-01 37 views
0

我試圖生成36個長度爲隨機數的數字,其中有0,1或6個數字。我做的是這樣的生成一個排除特定字符的隨機數

declare @random char(36) 
set @random = newid() 

set @random = replace(replace(replace(@random,'6','2'),'1','2'),'0','2') 
select @random 

我將6,1,0轉換爲2,但可能這不是在sql server中做到這一點的最佳方法。解決這個問題的正確方法是什麼?

+3

我只是要問......爲什麼?? – 2012-03-01 18:52:30

+0

這個號碼將是優惠券號碼。其實即使我不知道原因,因爲客戶想要它產生這種方式,我猜可能是O,I,G和0,1,6的相似性。我縮短了問題,但排除的字符是O ,I,G,0,1,6 – 2012-03-01 18:58:39

+1

隨機「數字」 - 不能包含3位數字,但可以包含字母af? – 2012-03-01 18:59:08

回答