Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak obsłużyć wartości NULL w instrukcji mysql SELECT ... OUTFILE w połączeniu z FIELDS ESCAPED BY? Wartości NULL są obecnie obcinane

Udało mi się pomyślnie zapisać wyniki zapytania MySQL jako CSV i zaimportować je do Excela w następujący sposób:

  1. Skorzystaj z formularza...

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

...dla każdej kolumny lub wyrażenia w instrukcji SELECT, która może ewentualnie zwrócić NULL (\N). Zapewni to, że wartości NULL w pliku CSV będą wyświetlane jako poprawnie cytowane puste ciągi, a nie niewłaściwie cytowane \N. Zamiast pustego ciągu możesz ewentualnie określić wartość reprezentującą NULL, np....

    IFNULL(ColumnA, "~NULL~" ) AS "Column A",
  1. Użyj następujących opcji OUTFILE:

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

Zauważ, że ESCAPED BY określa jeden podwójny cudzysłów, podobnie jak ENCLOSED BY. Nie testowałem, czy OPCJONALNIE ENCLOSED BY zakończy się sukcesem, więc po prostu opuszczam OPCJONALNIE.

Użycie podwójnego cudzysłowu do zmiany innego cudzysłowu w cytowanej wartości pola jest wymagane zgodnie ze specyfikacją CSV — RFC 4180, sekcja 2.7.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. darmowy wynik pdo

  2. Nie można przechowywać znaków UTF8 w MySQL

  3. Jak uniknąć konfliktów nazw kolumn?

  4. jak wstawić plik rozdzielany tabulatorami do mysql z relacją

  5. Jak używać wyzwalacza w MySql do tworzenia klucza obcego?