sql >> Database teknologi >  >> RDS >> Mysql

Sådan fjerner du uønskede ledende tegn fra en streng i MySQL

Problem:

Du vil gerne fjerne en sekvens af tegn i begyndelsen af ​​en streng.

Eksempel:

Vores database har en tabel med navnet produkt med data i tre kolonner:id , navn og model .

id navn model
1 se Lx0A123
2 smartwatch Lx0W34
3 urbillede Lx0G100

Lad os trimme modelkoden for hvert nyt produkt og fjerne de unødvendige tegn (Lx0) i begyndelsen.

Løsning 1:

Vi bruger TRIM() fungere. Her er den forespørgsel, du ville skrive:

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

Her er resultatet:

navn ny_modelkode
se A123
smartwatch W34
urfoto G100

Diskussion:

Brug TRIM() funktion med LEADING nøgleord for at fjerne tegn i begyndelsen af ​​en streng. TRIM() giver dig mulighed for at fjerne bestemte tegn eller mellemrum fra begyndelsen, slutningen eller begge ender af en streng. Denne funktion tager følgende argumenter:

  • Et valgfrit søgeord, der specificerer slutningen(e), der skal trimmes. Som standard er det BOTH , men du kan definere LEADING (fjern fra begyndelsen) eller TRAILING (fjern fra ende).
  • En streng, der definerer det eller de tegn/mellemrum, du vil fjerne fra strengen (i vores eksempel, sekvensen 'Lx0').
  • FRA søgeord.
  • Strengen/kolonnenavnet, der skal trimmes (i vores eksempel, modellen kolonne).

I vores eksempel ser dette ud som:

TRIM(LEADING 'Lx0' FROM model)

  1. Hvad er forskellen mellem BIT og TINYINT i MySQL?

  2. GROUP_CONCAT med grænse

  3. 3 måder at formatere et tal som en procentdel i PostgreSQL

  4. Kontroller, at tabellen eksisterer eller ej, før du opretter den i Oracle