sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo manejo los valores NULL en una instrucción mysql SELECT ... OUTFILE junto con FIELDS ESCAPED BY? Los valores NULL se están truncando actualmente

Pude guardar con éxito los resultados de la consulta de MySQL como CSV e importarlos a Excel de la siguiente manera:

  1. Utilice el formulario...

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

...para cada columna o expresión en su declaración SELECT que posiblemente pueda devolver un NULL (\N). Esto asegurará que los valores NULL en su archivo CSV aparezcan como cadenas vacías entrecomilladas correctamente en lugar de \N entrecomilladas incorrectamente. En lugar de una cadena vacía, posiblemente podría especificar un valor para representar un NULL, por ejemplo...

    IFNULL(ColumnA, "~NULL~" ) AS "Column A",
  1. Utilice las siguientes opciones de OUTFILE:

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

Tenga en cuenta que ESCAPED BY especifica una comilla doble, al igual que ENCLOSED BY. No he probado si OPCIONALMENTE ENCERRADO POR tendrá éxito, por lo que dejo OPCIONALMENTE fuera.

El uso de comillas dobles para evitar otra comilla doble dentro de un valor de campo entre comillas es obligatorio según la especificación CSV:RFC 4180, sección 2.7.