Nahraďte řetězec v SQL

Nahradte Retezec V Sql



Textová data nebo řetězce, jak je nazývají vývojáři, jsou hlavním stavebním kamenem jakéhokoli funkčního programu. Nejinak je tomu i v případě ukládání dat. Téměř všechny databáze obsahují nějakou formu textových informací, jako jsou jména, protokoly atd.

Manipulace s řetězci je jako taková běžným úkolem, který zahrnuje manipulaci a transformaci hodnot řetězců do určitého formátu.

Jednou z nejvýkonnějších funkcí v SQL, která se zabývá operacemi s řetězci, je funkce REGEXP_REPLACE(). Tato funkce nám umožňuje provádět vyhledávání a nahrazování založené na regulárních výrazech. Pokud znáte regulární výraz, víte, jak mocná tato funkce může být.







V tomto tutoriálu se naučíme, jak můžeme tuto funkci použít k vyhledávání a nahrazování řetězců v SQL databázi.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() je funkce, která nám umožňuje provádět porovnávání a nahrazování vzorů na základě regulárních výrazů v rámci daného řetězce.



Regulární výraz nebo regulární výraz je soubor vzoru a zástupných symbolů, který nám umožňuje porovnávat a manipulovat s řetězci nebo podřetězci, které sledují konkrétní vzor.





Je dobré mít na paměti, že každý databázový stroj může mírně implementovat syntaxi a funkčnost funkce.

Jeho syntaxi však můžeme vyjádřit takto:



REGEXP_REPLACE(vstupní_řetězec, vzor, ​​nahrazení [, příznaky])

Parametry funkce jsou vyjádřeny následovně:

  1. input_string – Určuje řetězec, ve kterém chceme hledat a nahrazovat.
  2. Vzor – Určuje vzor regulárního výrazu, který chceme porovnat ve vstupním řetězci.
  3. Replacement – ​​Určuje řetězec, který nahradí odpovídající podřetězce.
  4. Příznaky – Sada volitelných příznaků, které mohou pomoci upravit funkčnost regulárního výrazu. Můžeme například povolit globální vyhledávání, rozlišování malých a velkých písmen atd. Tato funkce se liší v závislosti na databázovém stroji.

Příklady:

Abychom lépe porozuměli tomu, jak tato funkce funguje, podívejme se na několik příkladů, jak ji používat.

Příklad 1: Základní použití

Předpokládejme, že máme tabulku obsahující informace o zaměstnanci, jak je znázorněno v následujícím příkladu výstupu:

Zvažte případ, kdy chceme nahradit výskyt řetězce „Charlie“ na „Matthew“. Dotaz můžeme použít následovně:

VYBRAT

REGEXP_REPLACE(first_name, 'Charlie', 'Matthew') AS new_name

Z

zaměstnanci;

Uvedený příklad demonstruje základní vyhledávání a nahrazování pro nalezení řetězce „Charlie“ ze sloupce „first_name“ a jeho nahrazení řetězcem „Matthew“.

Výstup:

Příklad 2: Výměna bez ohledu na velikost písmen

V některých případech můžete chtít provést vyhledávání bez rozlišení malých a velkých písmen. To znamená, že funkce se bude dívat pouze na obsah řetězce a ne na skutečné velké a malé písmena alfanumerických písmen.

V takovém případě použijeme „i“ jako příznak funkce následovně:

SELECT REGEXP_REPLACE(popis_produktu, Samsung, Apple, 'i') JAK upraveno

Z produktů;

Nastavením příznaku na „i“ funkce porovná všechna slova, která odpovídají výrazu „Samsung“, bez ohledu na velká a malá písmena.

Závěr

V tomto příkladu jsme prozkoumali, jak používat funkci REGEXP_REPLACE() a pracovat s ní k provádění vyhledávání a nahrazování na základě vzoru regulárních výrazů.