sql >> Database teknologi >  >> RDS >> Mysql

Hvordan håndterer jeg NULL-værdier i en mysql SELECT ... OUTFILE-sætning i forbindelse med FIELDS ESCAPED BY? NULL-værdier afkortes i øjeblikket

Jeg var i stand til at gemme MySQL-forespørgselsresultater som CSV og importere dem til Excel som følger:

  1. Brug formularen...

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

...for hver kolonne eller udtryk i din SELECT-sætning, der muligvis kan returnere en NULL (\N). Dette vil sikre, at NULL-værdier i din CSV-fil vises som korrekt citerede tomme strenge i stedet for forkert citerede \N'er. I stedet for en tom streng kan du muligvis angive en værdi, der repræsenterer en NULL, f.eks....

    IFNULL(ColumnA, "~NULL~" ) AS "Column A",
  1. Brug følgende OUTFILE-indstillinger:

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

Bemærk, at ESCAPED BY angiver et dobbelt anførselstegn, ligesom INKLOSED BY. Jeg har ikke testet, om VALGFRI INDSLUTET AF vil lykkes, så jeg udelader bare VALGFRITT.

Brug af et dobbeltanførselstegn for at undslippe et andet dobbeltanførselstegn inden for en anført feltværdi er påkrævet i henhold til CSV-specifikationen - RFC 4180, afsnit 2.7.



  1. Brug af MySQL's TIMESTAMP vs lagring af tidsstempler direkte

  2. Forhindring af cachelagring af forespørgsler i MySQL

  3. JSON_ARRAY_INSERT() – Indsæt værdier i et JSON-array i MySQL

  4. Hvordan får man python_select til at fungere for kommandoen '$>python'?