sql >> Database >  >> RDS >> Mysql

MySQL:hoe verwijder je dubbele of meer spaties uit een string?

Hier is een oude truc die geen reguliere expressies of ingewikkelde functies vereist.

Je kunt de vervangfunctie 3 keer gebruiken om een ​​willekeurig aantal spaties te verwerken, zoals:

REPLACE('This is    my   long    string',' ','<>')

wordt:

This<>is<><><><>my<><><>long<><><><>string

Dan vervang je alle exemplaren van '><' door een lege string '' door het in een andere Replace te wikkelen:

REPLACE(
  REPLACE('This is    my   long    string',' ','<>'),
    '><',''
)

This<>is<>my<>long<>string

Dan converteert een laatste vervanging de '<>' terug naar een enkele spatie

REPLACE(
  REPLACE(
    REPLACE('This is    my   long    string',
      ' ','<>'),
    '><',''),
  '<>',' ')

This is my long string

Dit voorbeeld is gemaakt in MYSQL (zet een SELECT ervoor) maar werkt in veel talen.

Merk op dat je alleen de 3 vervangfuncties nodig hebt om een ​​willekeurig aantal te vervangen tekens af te handelen.



  1. Hoe DATEDIFF() werkt in MariaDB

  2. SQL DEFAULT-beperking om een ​​kolom met een standaardwaarde in de SQL Server-tabel in te voegen

  3. Doorloop SQL-resultaten in PHP - Krijgt geen volledige array

  4. Variabele MySQL-trigger declareren