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

Jak změním všechny prázdné řetězce na NULL v tabulce?

UPDATE
    TableName
SET
    column01 = CASE column01 WHEN '' THEN NULL ELSE column01 END,
    column02 = CASE column02 WHEN '' THEN NULL ELSE column02 END,
    column03 = CASE column03 WHEN '' THEN NULL ELSE column03 END,
    ...,
    column99 = CASE column99 WHEN '' THEN NULL ELSE column99 END

Stále se to dělá ručně, ale je to o něco méně bolestivé než to, co máte, protože to nevyžaduje, abyste posílali dotaz pro každý sloupec. Pokud si nechcete dát práci se skriptováním, budete se muset smířit s jistou dávkou bolesti, když děláte něco takového.

Edit:Přidán END s



  1. TODATETIMEOFFSET() Příklady v SQL Server

  2. Jak zjistit, kdy byl spuštěn server MySQL/MariaDB

  3. Jak GET_FORMAT() funguje v MariaDB

  4. Jak udělat limit offset dynamickým pouze pomocí (My)SQL