Функция REPLACE ()
MySQL REPLACE () заменяет все вхождения подстроки в строке.
Синтаксис:
REPLACE (str, find_string, replace_with)
Аргументы
Имя | Описание |
---|---|
str | Строка. |
find_string | Строка, которая присутствует один или несколько раз в строке str. |
replace_with | Строка, которая будет заменяться каждый раз, когда она находит find_string внутри str. |
Синтаксическая диаграмма:
Видеопрезентация:
Пример функции MySQL REPLACE ()
Следующий оператор MySQL заменяет каждый раз, когда он находит ‘ur’ внутри ‘w3resource’ на ‘r’.
Код:
ВЫБРАТЬ ЗАМЕНИТЬ ('w3resource', 'ur', 'r') ;
Пример вывода:
mysql> SELECT REPLACE ('w3resource', 'ur', 'r'); + ----- --------------------------- + | REPLACE ('w3resource', 'ur', 'r') | + -------------------------------- + | w3resorce | + -------------------------------- + 1 строка в наборе (0,02 сек)
Графическая презентация
Пример MySQL функции REPLACE () с предложением where
Следующий оператор MySQL заменяет все вхождения ‘K’ на ‘SA’ в пределах страны столбца из таблицы publisher для тех строк, в которых значение столбца страны — Великобритания.
Код:
ВЫБРАТЬ pub_city, country, REPLACE (country, 'K', 'SA') FROM publisher WHERE country = 'UK' ;
Пример таблицы: publisher
Пример вывода:
mysql> SELECT pub_city, country, -> REPLACE (country, 'K', 'SA') -> FROM publisher -> WHERE country = 'UK'; + ----------- + --------- + --------------------------- + | pub_city | страна | ЗАМЕНИТЬ (страна, 'K', 'SA') | + ----------- + --------- + -------------- ------------- + | Лондон | Великобритания | США | | Кембридж | Великобритания | США | + ----------- + --------- + --------------------------- +2 ряда в наборе (0. 05 сек)
PHP-скрипт
example-replace-function - php mysql examples | w3resource Список издателей, которые принадлежат США. В правом столбце указано имя издателя, заключенное в одинарные кавычки:
Город издателя Страна издателя Значение страны издателя, где строка 'k' заменена на 'sa': php $ hostname = "your_hostname"; $ username = "your_username"; $ password = "your_password"; $ db = "your_dbname"; $ dbh = new PDO ("mysql: host = $ hostname; dbname = $ db", $ username, $ password); foreach ($ dbh-> query ('SELECT pub_city, country, REPLACE ( country, "K", "SA") как вывод FROM publisherWHERE country = "UK" ') как $ row) {echo ""; echo "". $ row ['pub_city']. " "; эхо "". $ row ['страна']. " "; эхо "". $ row ['вывод']. " "; эхо " "; }?>
Просмотрите пример в браузере
сценарий JSP
example-replace-function Город издателя Страна издателя Значение страны издателя, в которой строка 'k' заменена на 'sa'
MySQL: поиск и замена данных
У нас есть таблица с именем test со следующими записями:
mysql> SELECT * FROM test; + ----------- + | test_char | + ----------- + | Abcd || Wxyz || Скотт || Робин | + ----------- + 4 строки в наборе (0,00 сек)
Чтобы найти и заменить «Скотт» на «Сидху», вы можете использовать следующий оператор MySQL :
mysql> Тестовый набор UPDATE test_char = replace (test_char, 'Scott', 'Sidhu'); Запрос ОК, затронута 1 строка (0,04 сек) Совпадение строк: 4 Изменено: 1 Предупреждения: 0mysql > ВЫБРАТЬ * ИЗ теста; + ----------- + | test_char | + ----------- + | Abcd || Wxyz || Сидху || Робин | + ----------- + 4 строки в наборе (0,00 сек)
Все строковые функции