За последние 24 часа нас посетили 17529 программистов и 1649 роботов. Сейчас ищут 967 программистов ...

Проблема с регистрами в SQL

Тема в разделе "MySQL", создана пользователем mike_stepanov, 28 май 2015.

  1. mike_stepanov

    mike_stepanov Новичок

    С нами с:
    28 май 2015
    Сообщения:
    6
    Симпатии:
    0
    Вообщем, такая ситуация. Нужно конвентировать регистры в одной строке чтобы каждое слово начиналось с большой буквы. В ручную делать - нереально долго свыше 18000 значений только в одной таблице. У меня таких там еще две (там значений поменьше). Поменять код в PHP стоит того, но чтобы выводить уже на сайте в чистом виде, но я лучше сохраню пару миллисекунд при загрузке страницы и на душе буду чувствовать легче, когда дата будет отдаваться в PHP "более чистой".
    Я что-то не нашел точного обясния как это можно сделать. Везде предлагались свои варианты. Подскажите пожалуйста как можно это сделать одним запросом (возвращаться к этому уже больше не буду)?

    У вас есть http://php.ru/manual/function.ucwords.html, но там меняется в PHP. Нужно поменять ее раньше, в SQL.

    Пример в таблице: "ВАСЯ ПУПКИН", "Костя ПупКИН" и "Виталий Пупкин". Нужно чтобы все значения в этой таблице было "Имя Фамилия". Спасибо.
     
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Хрен знает. Я бы такой наркоманией не страдал. Сначала бы изменил обработчик формы регистрации, дабы новые юзвери сразу сохранялись как положено, а потом бы и скрипт состряпал, чтобы поменять все данные в базе. И проблем больше нет.
    Но раз хотите, вот, нашёл что-то http://web.izjum.com/mysql-php-ucfirst
     
  3. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    лучше один раз написать скрипт который обработает все как нужно и пересохранит.
    это можно сделать и с пом php и запросом внутри mysql
    что проще, решайте сами.

    если на php: то выбираем все, получаем отдельно фамилию, имя, отчество.
    обрабатываем с пом ucwords и сохраняем для каждой записи новые ФИО

    если внутри mysql:
    массовый UPDATE, для всех записей, выбираем все, отделяем фамилию,имя,отчество INSTR() и далее LEFT(), CONCAT(), UCASE()

    в общем гуглим, читаем, разбираемся, делаем
     
  4. mike_stepanov

    mike_stepanov Новичок

    С нами с:
    28 май 2015
    Сообщения:
    6
    Симпатии:
    0
    Спасибо за ответы.