SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.02.2015 20:40:54

BABBLS
Участник
Зарегистрирован: 22.02.2015
Сообщений: 2

Подскажите SQL команду для поиска - замены данных

Добрый день!
Пожалуйста, подскажите SQL команду для замены вот таких данных, это только малая часть:
This property has been on Booking.com since Jul 21, 2011.
This property has been on Booking.com since Mar 7, 2012.
This property has been on Booking.com since Apr 2, 2005.
This property has been on Booking.com since Jun 24, 2009.
Отличие только в конце в датах.

Я так понимаю тут надо применять регулярное выражение.
Раньше пользовался такой командой:
UPDATE `index` SET c_18 = REPLACE(c_18, 'заменить что', 'на что');
Но т.к. в значениях есть отличия такая команда уже не подойдет.

Спасибо.

Неактивен

 

#2 22.02.2015 22:12:33

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Подскажите SQL команду для поиска - замены данных

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

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

Неактивен

 

#3 22.02.2015 22:14:21

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Подскажите SQL команду для поиска - замены данных

А что именно и на что в приведенных строках Вы хотите заменить? Приведите примеры.
Вообще у mysql скудно с регулярными выражениями (.
Так что в зависимости от того, что и на что Вы хотите заменять - либо делать это на клиенте, либо как-то исхитриться скомбинировать строковые функции либо хранимую процедуру писать.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#4 22.02.2015 22:45:12

BABBLS
Участник
Зарегистрирован: 22.02.2015
Сообщений: 2

Re: Подскажите SQL команду для поиска - замены данных

По идее я даже хочу не заменить подобные данные чем то, а просто их удалить.
В столбцах данные выглядят так
http://i.imgur.com/8APPUy2.png

и их надо удалять, оставив только те которые НЕ ВЫДЕЛЕНЫ красным.

Неактивен

 

#5 23.02.2015 06:58:45

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Подскажите SQL команду для поиска - замены данных

Можно попробовать создать конструкцию, которая с помощью locate найдет номер в строке, с которого начинается "This property has been..", далее удалить с помощью substr .
Но потестируйте с большим, т/с чувством )), конструкция не очень надежная.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson