sql >> Databáze >  >> RDS >> Mysql

Jak odstranit úvodní a koncové mezery v poli MySQL?

Hledáte TRIM .

UPDATE FOO set FIELD2 = TRIM(FIELD2);

Zdá se, že by stálo za to zmínit, že TRIM může podporovat více typů mezer, ale pouze jeden po druhém a ve výchozím nastavení použije mezeru. Můžete však vnořit TRIM s.

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

Pokud se opravdu chcete zbavit všech mezery v jednom volání, je lepší použít REGEXP_REPLACE spolu s [[:space:]] notový zápis. Zde je příklad:

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. Uložte data v metodě onDestroy aktivity

  2. MySQL Vytvářejte příkazy View, Nahraďte View a Drop View s příklady

  3. SQL Server Hromadné vložení souboru CSV s nekonzistentními uvozovkami

  4. Odstraňte duplicitní řádky na serveru SQL Server