Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, подскажите пожалуйста.
Есть предположим три записи в таблице:
adgitycmpxsc@mail.ru;a1234
qwertympxsc@mail.ru;a1
dfhdsempxsc@mail.ru
Как с помощью MySql провести все записи к виду "dfhdsempxsc@mail.ru", точнее отбросить все, что после точки с запятой. Но есть также записи в таблице, в которых нету точки с запятой.
Неактивен
Ну, какой-нибудь
UPDATE tablename
SET fieldname = IF (LOCATE(';', fieldname), LEFT(fieldname, LOCATE(';', fieldname)), fieldname);
Неактивен
Выполнил Ваш запрос,
UPDATE testdrop
SET nickname = IF (LOCATE(';', nickname), LEFT(nickname, LOCATE(';', nickname)), nickname);
Заменило, но осталось во всех записях, в которых заменило в конце точка с запятой. А как сделать, чтоб запрос удалял и эту ;?
Неактивен
А немножко подумать и/или почитать про функции LOCATE/LEFT и поставить где надо -1?
Неактивен
Все, вопрос решен:
UPDATE ignore testdrop
SET nickname = IF (LOCATE(';', nickname), LEFT(nickname, LOCATE('u;', nickname)), nickname);
Спасибо форуму за помощь!
Неактивен
А когда будет не mail.ru а gmail.com - вы что будете делать?
Неактивен
не знаю) почитаю про функции LOCATE/LEFT
Неактивен
@paulus
А с WHERE не луч'ше?
UPDATE testdrop
SET nickname = LEFT(nickname, LOCATE(';', nickname)-1)
WHERE nickname LIKE '%;%';
Неактивен
Ммм, да, лучше
Неактивен