MySQL - Использует для своей выгоды первую букву каждого слова в существующей таблице

У меня есть существующая таблица 'people_table' с полем full_name.

Многим записям заполнили 'full_name' поле с неправильным преобразованием регистра. например. 'fred Jones' или 'fred jones' или 'Fred jones'.

Я могу найти эти ошибочные записи с:

SELECT * FROM people_table WHERE full_name REGEXP BINARY '^[a-z]';

Как я могу использовать для своей выгоды первую букву каждого найденного слова? например. 'fred jones' становится 'Fred Jones'.

26
задан Confluence 29 October 2011 в 16:34
поделиться

1 ответ

Для этого нет функции MySQL, вам нужно написать свою собственную. По следующей ссылке есть реализация:

http://joezack.com/index.php/2008/10/20/mysql-capitalize-function/

Чтобы использовать его, сначала вам нужно создать функция в базе данных. Вы можете сделать это, например, с помощью MySQL Query Browser (щелкните правой кнопкой мыши имя базы данных и выберите «Создать новую функцию»).

После создания функции вы можете обновить значения в таблице с помощью следующего запроса:

UPDATE users SET name = CAP_FIRST(name);
56
ответ дан 28 November 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: