Каким будет правильный формат для следующего регулярного выражения в SQL Server?
select top 100 *
from posts
where tags like '(c++)|(performance)'
SQL Server не поддерживает формальные регулярные выражения, поэтому здесь вам придется использовать LIKE
:
SELECT TOP 100 *
FROM posts
WHERE tags LIKE '%c++%' OR tags LIKE '%performance%';
Примечание. Если в столбце tags
действительно хранится один тег для каждой записи, просто используйте проверки на равенство:
SELECT TOP 100 *
FROM posts
WHERE tags IN ('%c++', 'performance');
@ samuelbrody1249 Оператор SQL Server LIKE
улучшен и имеет некоторые базовые возможности регулярных выражений, а также есть функция PATINDEX
с некоторой поддержкой регулярных выражений. Если вы покажете свои фактические данные, возможно, приведенный выше запрос можно улучшить.
ах, это так странно, для всего остального, что он поддерживает, думать о чем-то настолько простом...