SQL REGEXP_REPLACE

Sql Regexp Replace



Текстовые данные или строки, как их называют разработчики, являются основным строительным блоком любой функциональной программы. Это ничем не отличается от хранения данных. Почти все базы данных содержат ту или иную текстовую информацию, такую ​​как имена, журналы и т. д.

Таким образом, манипулирование строками является распространенной задачей, которая включает в себя манипулирование и преобразование строковых значений в определенный формат.

Одной из самых мощных функций SQL, предназначенных для операций со строками, является функция REGEXP_REPLACE(). Эта функция позволяет нам выполнять поиск и замену на основе регулярных выражений. Если вы знакомы с регулярными выражениями, вы знаете, насколько мощной может быть эта функция.







В этом уроке мы узнаем, как использовать эту функцию для поиска и замены строк в базе данных SQL.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() — это функция, которая позволяет нам выполнять сопоставление и замену шаблонов на основе регулярных выражений в заданной строке.



Регулярное выражение, или регулярное выражение, представляет собой набор шаблонов и заполнителей, которые позволяют нам сопоставлять и манипулировать строками или подстроками, которые следуют определенному шаблону.





Следует иметь в виду, что каждое ядро ​​базы данных может в некоторой степени реализовывать синтаксис и функциональность функции.

Однако мы можем выразить его синтаксис следующим образом:



REGEXP_REPLACE(входная_строка, шаблон, замена [, флаги])

Параметры функции выражаются следующим образом:

  1. input_string – указывает строку, в которой мы хотим выполнить поиск и замену.
  2. Шаблон – определяет шаблон регулярного выражения, который мы хотим сопоставить во входной строке.
  3. Замена – указывает строку, которая заменит совпавшие подстроки.
  4. Флаги. Это набор дополнительных флагов, которые могут помочь изменить функциональность регулярного выражения. Например, мы можем включить глобальный поиск, сопоставление без учета регистра и т. д. Эта функция зависит от ядра базы данных.

Примеры:

Чтобы лучше понять, как работает эта функция, давайте рассмотрим несколько примеров ее использования.

Пример 1: базовое использование

Предположим, у нас есть таблица, содержащая информацию о сотрудниках, как показано в следующем примере выходных данных:

Рассмотрим случай, когда мы хотим заменить появление строки «Чарли» на «Мэтью». Мы можем использовать запрос следующим образом:

ВЫБИРАТЬ

REGEXP_REPLACE(имя, 'Чарли', 'Мэтью') AS новое_имя

ОТ

сотрудники;

В данном примере демонстрируется базовый поиск и замена, чтобы найти строку «Чарли» в столбце «first_name» и заменить ее на «Мэтью».

Выход:

Пример 2. Замена без учета регистра

В некоторых случаях может потребоваться выполнить поиск без учета регистра. Это означает, что функция будет просматривать только содержимое строки, а не фактический регистр буквенно-цифровых букв.

В таком случае мы используем «i» в качестве флага функции следующим образом:

SELECT REGEXP_REPLACE(product_description, Samsung, Apple, 'i') КАК изменено

ИЗ продуктов;

Установив флаг «i», функция будет искать все слова, соответствующие «Samsung», независимо от регистра.

Заключение

В этом примере мы рассмотрели, как использовать и работать с функцией REGEXP_REPLACE() для выполнения поиска и замены на основе шаблона регулярного выражения.