sql >> Databasteknik >  >> RDS >> Mysql

Hur man tar bort oönskade ledande karaktärer från en sträng i MySQL

Problem:

Du vill ta bort en sekvens av tecken i början av en sträng.

Exempel:

Vår databas har en tabell som heter produkt med data i tre kolumner:id , namn och modell .

id namn modell
1 titta Lx0A123
2 smartwatch Lx0W34
3 klockfoto Lx0G100

Låt oss trimma modellkoden för varje ny produkt och ta bort de onödiga tecknen (Lx0) i början.

Lösning 1:

Vi använder TRIM() fungera. Här är frågan du skulle skriva:

SELECT name, 
  TRIM(LEADING 'Lx0' FROM model ) AS new_model_code
FROM product;

Här är resultatet:

namn ny_modellkod
titta A123
smartwatch W34
klockfoto G100

Diskussion:

Använd TRIM() funktion med LEADING nyckelord för att ta bort tecken i början av en sträng. TRIM() låter dig ta bort specifika tecken eller mellanslag från början, slutet eller båda ändarna av en sträng. Den här funktionen tar följande argument:

  • Ett valfritt sökord som anger slutet eller sluten som ska trimmas. Som standard är det BOTH , men du kan definiera LEADING (ta bort från början) eller TRAILING (ta bort från slutet).
  • En sträng som definierar de tecken/de tecken/mellanslag som du vill ta bort från strängen (i vårt exempel, sekvensen 'Lx0').
  • FRÅN sökord.
  • Sträng-/kolumnnamnet som ska trimmas (i vårt exempel, modellen kolumn).

I vårt exempel ser detta ut så här:

TRIM(LEADING 'Lx0' FROM model)

  1. SQL Server konverterar varbinary till sträng

  2. Hur man "Unhex" ett nummer i MySQL

  3. hur beviljar man användarrättigheter på ett specifikt schema?

  4. docker postgres pgadmin lokal anslutning