我希望有人可以幫助我,因爲谷歌沒有像我期望的那樣即將到來。我對SQL Server相對來說比較新,所以這是我自己設定的第一個功能。在電話號碼作爲參數創建SQL Server中的函數並返回一個隨機數
該函數的概要是它有一個電話號碼varchar(15)作爲參數,它檢查這個數字是否是一個合適的數字,即它是8位數字並且只包含數字。我試圖避免的主角是'+'。好號碼= 12345678錯誤號碼= +12345678。一旦檢查號碼,我想爲每個傳入的電話號碼產生一個隨機數。
我已經看過子字符串,like運算符,Rand(),left(),Right()以便搜索數字然後產生一個隨機數。我知道Rand()會產生相同的隨機數,除非對它做了修改,但現在它實際上是獲得一些工作代碼。對此的任何提示都會很棒,甚至可以指向更多的文檔。我在網上看過書,他們沒有幫助我,也許我沒有找到正確的地方。
下面是一個代碼片段,我工作的蘭德
declare @Phone Varchar (15)
declare @Counter Varchar (1)
declare @NewNumber Varchar(15)
set @Phone = '12345678'
set @Counter = len(@Phone)
while @Counter > 0
begin
select case when @Phone like '%[0-9]%' then cast(rand()*100000000 as int) else 'Bad Number' end
set @counter = @counter - 1
end
return
感謝您的幫助提前
伊瑪
ISNUMERIC是一個開始:http://msdn.microsoft.com/en-us/library/ms186272.aspx – 2010-05-12 02:27:15
是輸入電話號碼應該是唯一的? – gbn 2010-05-12 04:12:35
是的,輸入的電話號碼每次都是唯一的。感謝您的例子,我明天就會處理它,並讓您知道我將如何去。 – Emer 2010-05-12 06:10:30