Чередование регулярных выражений SQL Server

Каким будет правильный формат для следующего регулярного выражения в SQL Server?

select top 100 * 
from posts
where tags like '(c++)|(performance)'
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
179
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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 20.12.2020 09:10

@ samuelbrody1249 Оператор SQL Server LIKE улучшен и имеет некоторые базовые возможности регулярных выражений, а также есть функция PATINDEX с некоторой поддержкой регулярных выражений. Если вы покажете свои фактические данные, возможно, приведенный выше запрос можно улучшить.

Tim Biegeleisen 20.12.2020 09:12

Другие вопросы по теме