Действительно ли возможно создать новый Оператор T-SQL с помощью Кода CLR в SQL Server?

У меня есть очень простая Функция CLR для того, чтобы сделать Соответствие Regex

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-оператор Как.

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. (Я предполагаю от своего краткого взгляда вокруг сети, что ответ нет, но никакой вред, спрашивающий),

5
задан John Saunders 6 April 2010 в 19:51
поделиться

1 ответ

Нет, не можете. Вы можете создавать функции, хранимые процедуры, триггеры и т. Д., Но нет возможности создавать новые операторы или команды T-SQL. Насколько я могу судить, не в SQL Server 2008R2.

6
ответ дан 14 December 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: