Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL :jak usunąć podwójne lub więcej spacji z ciągu?

Oto stara sztuczka, która nie wymaga wyrażeń regularnych ani skomplikowanych funkcji.

Możesz użyć funkcji replace 3 razy, aby obsłużyć dowolną liczbę spacji, na przykład:

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

staje się:

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

Następnie zastępujesz wszystkie wystąpienia „><” pustym ciągiem „”, umieszczając go w innym miejscu zamiany:

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

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

Wreszcie ostatnia zamiana zamienia „<>” z powrotem na pojedynczą spację

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

This is my long string

Ten przykład został stworzony w MYSQL (wstaw SELECT na początku), ale działa w wielu językach.

Pamiętaj, że do obsługi dowolnej liczby znaków, które mają zostać zastąpione, potrzebujesz tylko 3 funkcji zastępujących.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wymusić ponowne wykorzystanie połączeń w puli jdbc?

  2. Połącz się z mysql na Amazon EC2 ze zdalnego serwera

  3. W MySQL:Jak przekazać nazwę tabeli jako procedurę składowaną i/lub argument funkcji?

  4. Jakiś sposób na wybór bez powodowania blokowania w MySQL?

  5. Porządek sortowania MySQL według wartości tablicy