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

Jak zpracuji hodnoty NULL v příkazu mysql SELECT ... OUTFILE ve spojení s FIELDS ESCAPED BY? Hodnoty NULL jsou aktuálně zkráceny

Byl jsem schopen úspěšně uložit výsledky dotazů MySQL jako CSV a importovat je do Excelu následovně:

  1. Použijte formulář...

    IFNULL(ColumnA, "" ) AS "Column A",
    

...pro každý sloupec nebo výraz v příkazu SELECT může vrátit hodnotu NULL (\N). Tím zajistíte, že hodnoty NULL ve vašem souboru CSV budou vypadat jako správně citované prázdné řetězce, nikoli jako nesprávně uvozovaná \N. Místo prázdného řetězce můžete zadat hodnotu, která bude představovat NULL, např....

    IFNULL(ColumnA, "~NULL~" ) AS "Column A",
  1. Použijte následující možnosti OUTFILE:

FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\r\n'

Všimněte si, že ESCAPED BY určuje jednu dvojitou uvozovku, stejně jako ENCLOSED BY. Netestoval jsem, zda bude OPTIONALLY ENCLOSED BY úspěšný, takže OPTIONALLY vynechávám.

Použití dvojité uvozovky k ukončení jiné dvojité uvozovky v rámci hodnoty pole v uvozovkách je vyžadováno podle specifikace CSV - RFC 4180, sekce 2.7.



  1. grantový soubor pouze v jedné databázi

  2. Příliš velká velikost řádku v dotazu na vytvoření tabulky mysql

  3. SQL dotaz nezobrazuje očekávaný výsledek

  4. Nejlepší typ pole databáze pro adresu URL