2012-01-31 66 views
3

我必須生成一些隨機數據,但從正則表達式給出。T-SQL從正則表達式生成隨機/樣本數據

例如,我有以下規則:

1) IsRegEx('^(((([0-1]?[0-9]|2[0-3])(:[0-5][0-9])?)?:)?[0-5])?[0-9]$', #COMMENT#) 
2) IsRegEx('^[0-9]+:([0-5][0-9]):([0-5][0-9])$',#COMMENT#) 
3) IsRegEx('^[0-9]+$' , #COMMENT#) 

和其他許多人......我要生成文本#Comment#將通過該規則。沒有必要有很多變化,一個就足夠了。

有沒有人做過這樣的事情?

在此先感謝。

回答

3

正確的方式做,這在SQL服務器 - 直通CLR存儲過程或CLR用戶定義的函數,如果你的SQL Server版本允許這個。否則 - 沒有任何可接受的方法。

+0

使用存儲過程執行此操作沒有任何問題。我在詢問想法或簡單的方法來做到這一點。我可以寫一些檢查,例如,如果我有「[0-9] +」聯繫我的字符串隨機數,從0到9,但有太多的變體,它會消耗太多的時間在這個辦法。 – gotqn 2012-01-31 16:20:14

+0

正如我所說的 - 有沒有簡單,可接受和快速的方法來做本地T-SQL – 2012-01-31 16:23:26

+0

@Joro一個CLR存儲過程是不一樣的t-sql存儲過程http://msdn.microsoft.com/ en-us/library/ms131094.aspx – 2012-01-31 18:00:41

相關問題