sql >> Database >  >> RDS >> Mysql

Hoe ga ik om met NULL-waarden in een mysql SELECT ... OUTFILE-instructie in combinatie met FIELDS ESCAPED BY? NULL-waarden worden momenteel afgekapt

Ik heb de MySQL-queryresultaten met succes als CSV kunnen opslaan en als volgt in Excel kunnen importeren:

  1. Gebruik het formulier...

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

...voor elke kolom of expressie in uw SELECT-instructie dan kan mogelijk een NULL (\N) worden geretourneerd. Dit zorgt ervoor dat NULL-waarden in uw CSV-bestand worden weergegeven als correct geciteerde lege tekenreeksen in plaats van onjuist geciteerde \N's. In plaats van een lege string, zou je eventueel een waarde kunnen specificeren om een ​​NULL weer te geven, bijvoorbeeld...

    IFNULL(ColumnA, "~NULL~" ) AS "Column A",
  1. Gebruik de volgende OUTFILE-opties:

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

Merk op dat ESCAPED BY één dubbel aanhalingsteken specificeert, net als ENCLOSED BY. Ik heb niet getest of OPTIONEEL ENCLOSED BY succesvol zal zijn, dus ik laat OPTIONEEL weg.

Het gebruik van een dubbel aanhalingsteken om te ontsnappen aan een ander dubbel aanhalingsteken binnen een veldwaarde tussen aanhalingstekens is vereist volgens de CSV-specificatie - RFC 4180, sectie 2.7.



  1. het automatiseren van rollback script oracle

  2. MySQL-buitenlandse sleutels

  3. SQL-commando's die niet compatibel zijn met H2

  4. Kopieer een tabel (inclusief indexen) in postgres