sql >> Databasteknik >  >> RDS >> Mysql

Hur hanterar jag NULL-värden i en mysql SELECT ... OUTFILE-sats i kombination med FIELDS ESCAPED BY? NULL-värden trunkeras för närvarande

Jag lyckades spara MySQL-frågeresultat som CSV och importera dem till Excel enligt följande:

  1. Använd formuläret...

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

...för varje kolumn eller uttryck i din SELECT-sats som eventuellt kan returnera en NULL (\N). Detta kommer att säkerställa att NULL-värden i din CSV-fil visas som korrekt citerade tomma strängar snarare än felaktigt citerade \N. Istället för en tom sträng kan du eventuellt ange ett värde som representerar en NULL, t.ex....

    IFNULL(ColumnA, "~NULL~" ) AS "Column A",
  1. Använd följande OUTFILE-alternativ:

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

Observera att ESCAPED BY anger ett dubbelcitattecken, liksom BILAGADE AV. Jag har inte testat om VALFRITT OMSLUTAD BY kommer att lyckas, så jag lämnar bara VALFRITT utanför.

Att använda ett dubbelcitattecken för att undvika ytterligare ett dubbelcitattack inom ett citerat fältvärde krävs enligt CSV-specifikationen - RFC 4180, avsnitt 2.7.



  1. Börja blogga för HTML5 och CSS3

  2. Hur infogar jag flera kryssrutor i en tabell?

  3. Välj en kolumn med ett nyckelordsnamn

  4. Tilldela platser i betyget (MySQL, PHP)