sql >> Database >  >> RDS >> Mysql

Hoe verwijder ik voorloop- en volgspaties in een MySQL-veld?

U zoekt naar TRIM .

UPDATE FOO set FIELD2 = TRIM(FIELD2);

Het lijkt erop dat het de moeite waard is om te vermelden dat TRIM meerdere soorten witruimte kan ondersteunen, maar slechts één tegelijk en dat het standaard een spatie gebruikt. U kunt echter TRIM . nesten v.

 TRIM(BOTH ' ' FROM TRIM(BOTH '\n' FROM column))

Als je echt van alles af wilt komen de witruimte in één gesprek, kunt u beter REGEXP_REPLACE gebruiken samen met de [[:space:]] notatie. Hier is een voorbeeld:

SELECT 
    -- using concat to show that the whitespace is actually removed.
    CONCAT(
         '+', 
         REGEXP_REPLACE(
             '    ha ppy    ', 
             -- This regexp matches 1 or more spaces at the beginning with ^[[:space:]]+
             -- And 1 or more spaces at the end with [[:space:]]+$
             -- By grouping them with `()` and splitting them with the `|`
             -- we match all of the expected values.
             '(^[[:space:]]+|[[:space:]]+$)', 

             -- Replace the above with nothing
             ''
         ), 
         '+') 
    as my_example;
-- outputs +ha ppy+


  1. Vragen die u moet stellen voordat u een database start

  2. Virtualisering inschakelen in BIOS op laptop of desktop voor Virtualbox VM

  3. Hoe Atanh() werkt in PostgreSQL

  4. Automatisch SQLite-queryresultaten openen in Excel