2013-07-19 3 views
3

Моя проблема в том, что у меня есть столбец, в котором большой дамп данных был слегка отформатирован.Исправить пропущенное форматирование текста в столбце mysql

VolumeNumber 
------------ 
Volume 1Numbers 1 & 2 
Volume 1Numbers 1 & 2 
Volume XIINumbers 3 & 4 
Volume XIINumbers 3 & 3 

Проблема в том, что перед словом Number отсутствует пробел. i.e (Volume 1 Numbers 1 & 2)

Для исправления этой проблемы существует очень много строк.

+1

Итак, я думаю, вам нужно место? Как кажется, вы забыли задать вопрос .. –

+0

@ Mr.Alien Я упомянул его ниже кода. Извините, неясно. –

ответ

2

Предполагая, что «Число» появляется только один раз в VolumeNumber, что-то вроде этого следует сделать это:

UPDATE SomeTable 
SET 
    VolumeNumber = REPLACE(VolumeNumber, 'Numbers ', ' Numbers ') 
WHERE 
    VolumeNumber NOT LIKE '% Numbers%' 
+0

Я только что задал вопрос о замене экземпляров 'Number', где пространство уже существует. Я не эксперт по SQL, но на первый взгляд это выглядит как идеальный ответ. –

+0

2078 затронутых строк. Благодарю. Я приму ваш ответ, когда блокировка будет удалена. –

1

Просто альтернатива @ (возможно лучше) решения Шона, только потому, что я написал это в любом случае :)

UPDATE Table1 SET VolumeNumber = 
    INSERT(VolumeNumber, LOCATE('Numbers ', VolumeNumber), 0, ' ') 

An SQLfiddle to test with.

Смежные вопросы