Замена с использованием подстановочных знаков или регулярных выражений в MySQL? - PullRequest
1 голос
/ 08 марта 2012

В моем столбце есть такие значения: / 1/0 / 101.00_1234.jpg

Теперь я хочу заменить / 1/0 чем-то другим.Проблема в том, что она может отличаться от строки к строке.Это может быть / ч / а.Как я могу сделать это без каких-либо дополнительных инструментов?

Спасибо

Ответы [ 3 ]

2 голосов
/ 08 марта 2012

Я бы попробовал ключевое слово SUBSTRING_INDEX:

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

, например:

SUBSTRING_INDEX(myfield, '/', -3)
2 голосов
/ 08 марта 2012

Скорее всего, вам просто нужно заменить первые 4 символа, поэтому используйте функции SUBSTRING и CONCAT:

CONCAT('/a/b', SUBSTRING(colunm_name, 4))
1 голос
/ 08 марта 2012

Напишите сохраненную функцию, которая ищет самый правый «/» в содержимом поля и удаляет все символы перед этой позицией.Затем используйте эту сохраненную функцию для обновления поля.Это уже «дополнительный инструмент»?В этом случае используйте встроенную функцию, например (не тестировалась)

RIGHT(fieldname,LENGTH(fieldname) - LOCATE('/', reverse(fieldname))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...