MySQL: найти поля с продублированной информацией

Asar
На сайте с 23.08.2004
Offline
322
621

Господа, прошу помочь сваять запросы к MySQL.

В одном из столбцов таблицы могут быть поля, инфа в которых продублирована. Например:

"Красный орангутан. Красный орангутан."

Нужно найти эти поля и почикать их ("Красный орангутан. Красный орангутан." пореплейсить на "Красный орангутан.")

Чтот никак не соображу. Это вообще делается как-нибудь?

З.Ы. Или в связке с PHP, а не на чистом MySQL...

[umka]
На сайте с 25.05.2008
Offline
456
#1

UPDATE table SET field=LEFT(field,CHAR_LENGTH(field)/2) WHERE CHAR_LENGTH(field)%2=0 AND LEFT(field,CHAR_LENGTH(field)/2)=RIGHT(field,CHAR_LENGTH(field)/2)

Это для строк из двух одинаковых половинок.

Например:

"Красный орангутан.Красный орангутан."

или

"Красный орангутан. Красный орангутан. " (с пробелом на конце).

Но не

"Красный орангутан. Красный орангутан."

Лог в помощь!
Asar
На сайте с 23.08.2004
Offline
322
#2

[umka], спасиб, все отлично работает. Пробелы и подкорректировать несложно.

Но.

Не пашет для кириллицы. UTF8.

Подскажите, с чем может быть связано?

[umka]
На сайте с 25.05.2008
Offline
456
#3
Asar:
[umka], спасиб, все отлично работает. Пробелы и подкорректировать несложно.
Но.
Не пашет для кириллицы. UTF8.
Подскажите, с чем может быть связано?

Прошу пардону.

Вместо LENGTH() —> CHAR_LENGTH()

Asar
На сайте с 23.08.2004
Offline
322
#4

Отлично. Большое спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий