Mysql update (я хочу изменить строку последние два символа)

у меня есть строка

www.baabrada.aapnipanchayat.org

я хочу изменить строку

www.baabrada.aapnipanchayat.in

и я использую этот запрос обновления

UPDATE 'gram_panchayat' SET web=in WHERE web=org;
2 ответа

Обеспечивает замену .org на .in только в конце строки:

UPDATE gram_panchayat SET web = CONCAT(LEFT(web, CHAR_LENGTH(web)-CHAR_LENGTH('org')), 'in') WHERE web LIKE '%.org'

Проверьте это: http://sqlfiddle.com/#!2/e78a26/1

Дополнительная информация: Строковые функции


Другой способ сделать это - использовать функцию INSERT():

UPDATE gram_panchayat
SET web = INSERT(web, CHAR_LENGTH(web) - CHAR_LENGTH('org') + 1, CHAR_LENGTH('org'), 'in' )
WHERE web LIKE '%.org';

Вот демоверсия SQL Fiddle для игры: http://sqlfiddle.com/#!2/524905/1

licensed under cc by-sa 3.0 with attribution.