Как заменить слова в колонке по точному совпадению?

Ссылка скопирована
1 ответ

Такое решение во всех словах заменит буквы и itemsпревратятся в ITems, а мне нужно только только it заменить на IT

UPDATE posts SET theme = REPLACE(theme , 'it', 'IT');

UPDATE posts SET theme = REPLACE(theme , 'it', 'IT');

Дополнительно:

UNNEST, замена, обратное агрегирование. Не забудь учесть, что разделитель между словами - не только пробел.

Ну или замена по регулярному выражению.

  • А зачем "оно" (it) менять на "ОНО" (IT)?
  • Rsa97, это не оно, а Information Technology )
  • MishaXXL, it is IT. Надо ли менять первое it?
  • Rsa97, к счастью таких названий не было )
  • UDPATE posts SET theme = 'IT' WHERE theme = 'it'

    • Тоже вариант )
      А как быть с теми случаями, где речь пойдет не об одном слове, как всему значению столбца, а нужно будет именно в тексте сделать замену по точном совпадению?
    • MishaXXL, REGEX замена, тут 3 ситуации: 1) пробел с обоих сторон ' it ', 2) пробел справа 'it ', 3) пробел слева ' it'
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Стас DB Ответ

    Для замены слов в колонке по точному совпадению вам потребуется использовать SQL запрос с функцией REPLACE. Вот пример SQL запроса, который поможет вам выполнить эту задачу:

    UPDATE table_name
    SET column_name = REPLACE(column_name, 'old_word', 'new_word')
    WHERE column_name = 'specific_value';

    UPDATE table_name SET column_name = REPLACE(column_name, 'old_word', 'new_word') WHERE column_name = 'specific_value';

    В данном запросе вы должны заменить table_name на имя вашей таблицы, column_name на имя столбца, в котором нужно произвести замену, old_word на слово, которое нужно заменить, new_word на новое слово, которое вы хотите вставить, и specific_value на значение, по которому нужно выполнить замену.

    Например, если у вас есть таблица users с столбцом name, и вы хотите заменить слово "John" на "Mike" в столбце name для всех записей, где значение равно "John", то ваш SQL запрос будет выглядеть так:

    UPDATE users
    SET name = REPLACE(name, 'John', 'Mike')
    WHERE name = 'John';

    UPDATE users SET name = REPLACE(name, 'John', 'Mike') WHERE name = 'John';

    После выполнения данного запроса, все записи, где значение столбца name равно "John", будут изменены на "Mike". Не забудьте сделать резервную копию данных перед выполнением подобных операций, чтобы избежать потери информации.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно