sql >> Databasteknik >  >> RDS >> Mysql

Hur tar man bort ledande och efterföljande blanksteg i ett MySQL-fält?

Du letar efter TRIM .

UPDATE FOO set FIELD2 = TRIM(FIELD2);

Verkar som det kan vara värt det att nämna att TRIM kan stödja flera typer av blanksteg, men bara ett i taget och det kommer att använda ett blanksteg som standard. Du kan dock kapsla TRIM s.

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

Om du verkligen vill bli av med allt blanktecken i ett samtal är det bättre att använda REGEXP_REPLACE tillsammans med [[:space:]] notation. Här är ett exempel:

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. Utforska alternativ för lågprioriterade lås väntan i SQL Server 2014 CTP1

  2. Förhandsgranska dokument i Microsoft Access Form

  3. Få alla tabellnamn för en viss databas genom SQL-fråga?

  4. Hur INTERSECT fungerar i PostgreSQL