REPLACE — различия между версиями
Symbol (обсуждение | вклад) |
Symbol (обсуждение | вклад) |
||
Строка 16: | Строка 16: | ||
GROUP BY log_title; | GROUP BY log_title; | ||
</source> | </source> | ||
+ | |||
+ | == Ссылки == | ||
+ | * [http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_replace Функции для работы со строками в MySQL] | ||
[[Категория:SQL]] | [[Категория:SQL]] |
Текущая версия на 00:40, 3 мая 2013
REPLACE — функция в SQL. Позволяет заменить все вхождения SearchCond в строке String на ReplaceCond:
<source lang=sql> REPLACE(String, SearchCond, ReplaceCond)</source>
Применение
Применяется в инструкциях UPDATE, для массовой замены содержимого базы данных, например замена всех пробелов в столбце column1 на подчёркивания:
<source lang=sql> UPDATE table1 SET column1 = REPLACE(column1, ' ', '_');</source>
Может применяться в условиях поиска и выборки из нескольких таблиц. Например, эта инструкция возвращает записи журнала блокировок для пользователе, удалённых из базы данных. Оператор REPLACE здесь необходим, так как в log_title имя пользователя хранится с использованием подчёркиваний вместо пробелов.
<source lang=sql>
SELECT log_title FROM logging LEFT JOIN user ON REPLACE(log_title,'_',' ')=user_name WHERE log_type = 'block' AND log_user <> 0 AND user_name is NULL GROUP BY log_title;
</source>