MySql - sposób na aktualizację części ciągu?


103

Szukam sposobu, aby zaktualizować tylko część ciągu za pośrednictwem zapytania MySQL.

Na przykład, jeśli mam 10 rekordów, z których wszystkie zawierają `` ciąg '' jako część wartości pola (tj. `` Coś / ciąg '', `` coś / ciąg znaków '', `` coś / ciąg / itd. '', Czy istnieje sposób na zmianę '' ciągu „na„ inną wartość ”dla każdego wiersza za pośrednictwem jednego zapytania, tak aby wynikiem było„ coś / inna wartość ”,„ coś / inna wartość ”,„ coś / ciąg / itd. ”, czy istnieje sposób na zmianę„ innej wartości ”

Odpowiedzi:


231

Myślę, że to powinno działać:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';


14

Użyj LIKEoperatora, aby znaleźć wiersze, które Cię interesują, i zaktualizuj je za pomocą REPLACEfunkcji.

Na przykład:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'

0

Czy coś takiego działa w jakikolwiek sposób?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.