Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment supprimer les espaces blancs de début et de fin dans un champ MySQL ?

Vous recherchez TRIM .

UPDATE FOO set FIELD2 = TRIM(FIELD2);

Il semble qu'il vaille la peine de mentionner que TRIM peut prendre en charge plusieurs types d'espaces blancs, mais un seul à la fois et il utilisera un espace par défaut. Vous pouvez cependant imbriquer TRIM s.

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

Si vous voulez vraiment vous débarrasser de tous l'espace en un seul appel, vous feriez mieux d'utiliser REGEXP_REPLACE avec le [[:space:]] notation. Voici un exemple :

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+