Задать вопрос
@mihas18

Как в mysql автоматически обрезать текстовое поле по условию?

Есть исходные строки ("news-copy", "kontakty-copy"). При наличии вхождения в строку ("news-copy") подстроки "-copy" - необходимо строку ("news-copy") обрезать до "news".
  • Вопрос задан
  • 2403 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
falsebyte
@falsebyte
select right('news-copy',4)

уупс, это он справа возьмет 4 символа вам нужно использовать left, условие надеюсь допишите?
Ответ написан
Комментировать
Immortal_pony
@Immortal_pony Куратор тега MySQL
SELECT 
		CASE 
			WHEN (LOCATE('-news', `str`) > 0) THEN 
				LEFT (`str`, LOCATE('-news', `str`)-1)
			ELSE 
				`str`
		END AS
	'str'
Ответ написан
Комментировать
SUBSTRING_INDEX('news-copy', '-', 1); -> news
SUBSTRING_INDEX('kontakty-copy', '-', 1); -> kontakty

IF(SUBSTRING_INDEX('news-copy', '-', 1) = 'news', SUBSTRING_INDEX('news-copy', '-', 1), 'kontakty-copy')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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