T-SQL генерирует случайные / выборочные данные из RegEx - PullRequest
3 голосов
/ 31 января 2012

Я должен сгенерировать некоторые случайные данные, но из данных Регулярного выражения.

Например, у меня есть следующие правила:

 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#, который пройдет правило.Нет необходимости, чтобы было много вариантов, достаточно одного.

Кто-нибудь делал что-то подобное?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 31 января 2012

Правильный способ сделать это в Sql Server - через хранимую процедуру CLR или пользовательскую функцию CLR, если ваша версия Sql Server позволяет это.Иначе - нет приемлемого пути.

1 голос
/ 31 января 2012

Вы не можете сделать это с T-SQL. T-SQL даже не поддерживает регулярные выражения. Если у вас Visual Studio Premium, вы можете создать проект базы данных и использовать генератор данных регулярного выражения для создания нужных тестовых данных. Установите флажок « Генерация тестовых данных для баз данных с использованием генераторов данных ».

Если у вас нет VS Premium, вы можете создать свой собственный генератор в виде CLR хранимой процедуры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...