Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL REPLACE() – Заменете всички екземпляри на подниз с друг низ

MySQL REPLACE() функцията ви позволява да замените всички поява на подниз с друг низ. Позволява ви да правите неща като заменяне на всички поява на една дума с друга и т.н.

Тази статия демонстрира използването му.

Синтаксис

Ето как върви синтаксисът:

ЗАМЕНИ(стр,от_стр,до_стр)

Където str е низът, който съдържа подниз/ите. from_str е поднизът, който искате да замените с друг низ. И to_str е новият низ, който ще замени стария низ.

Пример

Ето един основен пример:

SELECT REPLACE('Котки и кучета и котки и зайци', 'и', 'или') КАТО Резултат;

Резултат:

+--------------------------------+| Резултат |+---------------------------------+| Котки или кучета или котки или зайци |+---------------------------------+

В този случай просто разменяме думата and с думата or . Тъй като имаше три срещания на тази дума, и трите бяха заменени.

Чувствителни към регистъра

Важно е да запомните, че REPLACE() функцията е чувствителна към малките букви.

Пример:

SELECT REPLACE('Котки и кучета, котки и зайци', 'котка', 'бълха') КАТО Резултат;

Резултат:

+-------------------------------------+| Резултат |+-------------------------------------+| Котки и кучета, бълхи и зайци |+----------------------------------------------+

В този случай само един екземпляр на cat е заменен, защото само една инстанция е имала правилния случай. Първият екземпляр имаше главни букви C така че не съвпада.

Премахване на подниз

Можете също така да премахнете изцяло подниз, просто като замените подниз с празния низ ('' ):

SELECT REPLACE('http://www.database.guide', 'www.', '') КАТО резултат;

Резултат:

<пред>+-----------------------+| Резултат |+-----------------------+| http://database.guide |+-----------------------+

Препоръка

Друг (може би по-безопасен) начин да направите това е да включите част от заобикалящия текст, след което премахнете ненужната част:

ИЗБЕРЕТЕ REPLACE('http://www.database.guide', 'http://www.', 'http://') КАТО резултат;

Резултат:

<пред>+-----------------------+| Резултат |+-----------------------+| http://database.guide |+-----------------------+

Това предпазва от неволно премахване на подниз, който не трябва да се премахва. Например, ако имаме URL като  http://bestwww.com , което по невнимание би се превърнало в http://bestcom без предпазните мерки.

Същата предпазна мярка може да се приложи в случаите, когато заменяте текст (а не просто го премахвате). Например това:

SELECT REPLACE('Земя на котки, кучета и пясък', ' и ', ' или ') КАТО Резултат;

Резултат:

+------------------------------+| Резултат |+------------------------------+| Земя на котки или кучета или пясък |+------------------------------+

В този случай добавих интервал преди и след подниз и неговия заместващ текст.

Ако не бях направил това, щях да свърша с това:

SELECT REPLACE('Земя на котки, кучета и пясък', 'и', 'или') КАТО Резултат;

Резултат:

+----------------------------+| Резултат |+----------------------------+| Лор от котки или кучета или сор |+----------------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да избягвам специални символи в MySQL?

  2. Как да сравним две колони в MySQL

  3. Научете как да импортирате данни от Excel в база данни на MySQL

  4. Вземете идентификатора на вмъкнатия ред с помощта на C#

  5. MySQL:Изберете всички дати в диапазон, дори ако няма налични записи