У меня очень простая функция CLR для сопоставления регулярных выражений
public static SqlBoolean RegExMatch(SqlString input, SqlString pattern)
{
if (input.IsNull || pattern.IsNull)
return SqlBoolean.False;
return Regex.IsMatch(input.Value, pattern.Value, RegexOptions.IgnoreCase);
}
Позволяет мне писать SQL-операторы Like.
SELECT * FROM dbo.table1 WHERE dbo.RegexMatch(column1, '[0-9][A-Z]') = 1
-- match entries in col1 like 1A, 2B etc...
Я просто думаю, что было бы неплохо переформулировать этот запрос, чтобы он мог называться как
SELECT * FROM dbo.table1 WHERE column1 REGEXLIKE '[0-9][A-Z]'
Можно ли создавать новые операторы сравнения, используя код CLR. (Я догадываюсь из моего короткого взгляда по сети, что ответ НЕТ , но без вопросов спрашиваю)