Заменить часть строки в MySQL - PullRequest
0 голосов
/ 08 августа 2009

Если у меня есть данные в моем MySQL, как это

таблица:

данные (текст)

foo (hal)

Фу (Дэйв)

бар (Дэйв)

бар (Дэйв)

И я хочу сделать этот запрос

SELECT DISTINCT(data) FROM table;

Теперь это вернет таблицу, как указано выше. Но я хочу сделать какую-то замену, чтобы мой запрос на возврат выглядел так

SELECT DISTINCT(data) FROM table Replace(data, "(xxxx)", "");

Итак, запрос возвращает

  • Foo
  • бар

Очевидно, что данные не заменяются, потому что скобки важны, их просто заменяют для запроса

Если это можно сделать, есть ли производительность в этом

Ответы [ 2 ]

2 голосов
/ 08 августа 2009
SELECT DISTINCT stuff 
FROM (
  SELECT RTRIM(SUBSTR(data, 1, LOCATE('(', data) - 1)) AS stuff 
  FROM foo
) t;
1 голос
/ 08 августа 2009

Это сработало для меня по вышеуказанной проблеме. Спасибо, hobodave, вы направили меня в правильном направлении

SELECT DISTINCT(SUBSTRING_INDEX(data, '(', 1)) AS tag FROM table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...