Какой SQL-оператор использовать для регулярных выражений?

Оператор регулярных выражений зависит от СУБД: PostgreSQL использует ~ и ~*, MySQL поддерживает REGEXP/REGEXP_LIKE, а LIKE работает с шаблонами, не полноценными regex.

Короткий ответ

Что ответить на собеседовании

Оператор регулярных выражений зависит от СУБД: PostgreSQL использует ~ и ~*, MySQL поддерживает REGEXP/REGEXP_LIKE, а LIKE работает с шаблонами, не полноценными regex.

Подробный разбор

Ответ с пояснениями

Оператор регулярных выражений зависит от СУБД: PostgreSQL использует ~ и ~*, MySQL поддерживает REGEXP/REGEXP_LIKE, а LIKE работает с шаблонами, не полноценными regex.

Для PostgreSQL пример поиска строк, начинающихся с трёх цифр:

SELECT name
FROM items
WHERE name ~ '^[0-9]{3}';

Оператор ~ чувствителен к регистру, ~* — нет. В других СУБД синтаксис и возможности отличаются, поэтому сначала уточняют движок и версию. Регулярное выражение проверяет формат строки, но не обязательно её бизнес-корректность. Для обычного префикса LIKE может быть понятнее; производительность зависит от шаблона, индексов и объёма данных.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее