2015-11-01 6 views
0

Я обнаружил # записей в моей таблице, где поле, похоже, возвращает карету. Я нашел их с помощью:Использование Заменить в Mysql с помощью Regex

Select Field from Table WHERE Field REGEXP "\r\n" 

Я хотел бы, чтобы удалить их, но с использованием регулярных выражений в замене не работают:

Update Table set Field=Replace(Field,REGEXP "\r\n",'') where Field REGEXP "\r\n" 

Как в стороне я нашел несколько полей, которые не соответствуют запросу регулярных выражений но по-прежнему отображаться в поле мемо как неработающую e..g

Queen 

Anne 

против

Queen Ann 

Есть ли какой-либо другой символ регулярных выражений, который я должен добавить, чтобы я мог искать любые/все комбинации и заменить, где я не получаю просто пробел?

+2

MySQL не поддерживает замену регулярных выражений. Это возможно с использованием пользовательской функции, в других ответах, которые я связывал. [Также здесь ...] (http://stackoverflow.com/questions/986826/how-to-do-a-regular-expression-replace-in-mysql/6216513#6216513) –

+0

MariaDB имеет REGEXP_REPLACE. –

ответ

0

Вы просто хотите replace():

Update Table 
    set Field = Replace(Field, '\r\n', '') 
    where Field REGEXP '\r\n'; 

MySQL должен признать '\r' и '\n' в любой строке (см here).

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