sql >> Databasteknik >  >> RDS >> Mysql

Hur man hittar och ersätter text i MySQL-databasen med SQL

MySQL-databas har en praktisk och enkel strängfunktion REPLACE() som gör att tabelldata med den matchande strängen (from_string) kan ersättas med ny sträng (to_string). Detta är användbart om det finns behov av att söka och ersätta en textsträng som påverkar många poster eller rader, till exempel byte av företagsnamn, postnummer, URL eller stavfel.

Syntaxen för REPLACE är:

REPLACE(text_string, from_string, to_string)

MySQL-referens beskriver REPLACE som en funktion som returnerar strängen text_string med alla förekomster av strängen from_string ersatta av strängen to_string, där matchning är skiftlägeskänslig när man söker efter from_string. text_string kan också hämtas från a-fältet i databastabellen.

De flesta SQL-kommandon kan använda REPLACE()-funktionen, speciellt SELECT- och UPDATE-manipulationssatsen.

Till exempel syntaxen för UPDATE SQL-kommandot med användning av REPLACE-funktionen:

update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'find this string', 'replace found string with this string');

Som ett exempel:

update client_table set company_name = replace(company_name, 'Old Company', 'New Company')

Ovanstående uttalande kommer att ersätta alla instanser av "Gammalt företag" till "Nytt företag" i fältet företagsnamn i tabellen klienttabell.

Ett annat exempel för SQLECT-fråga:

SELECT REPLACE('www.mysql.com', 'w', 'Ww');

Ovanstående uttalande kommer att returnera "WwWwWw.mysql.com" som resultat. ERSÄTT funktionen är multibyte säker.


  1. SqlDateTime.MinValue !=DateTime.MinValue, varför?

  2. Komplett process för att kopiera tabell från en databas till en annan (export-import) i SQL Server

  3. Hur visar jag en bild från blob-kolumnen i Oracle med JasperReports?

  4. Hur man övervakar MySQL-distributioner med Prometheus &Grafana på ScaleGrid