MYSQL optionally enclosed by not working correctly

59 Views Asked by At

Good morning.

If I run this procedure the "optionally enclosed by" option also puts the data and decimal fields between "" (I checked on db and cls.DATA_INIZIO, cls.DATA_FINE are really DATE and cls.PREZZO is DECIMAL).

SELECT 'CLI_CODICE', 'TS1_CODICE', 'TS3_CODICE', 'ART_CODICE', 'DATA_INIZIO', 'DATA_FINE', 'PREZZO', 'TSM_CODICE'
UNION ALL
SELECT cls.CLI_CODICE, cls.TS1_CODICE, cls.TS3_CODICE, cls.ART_CODICE, DATE_FORMAT(cls.DATA_INIZIO, '%d/%m/%Y'), DATE_FORMAT(cls.DATA_FINE, '%d/%m/%Y'), cls.PREZZO, cls.TSM_CODICE
FROM arc_0001.cls
WHERE (((cls.DATA_FINE)>=Now()))
INTO OUTFILE 'file.csv'
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '\\'
LINES TERMINATED BY '\n' ;

Results:

"CLI_CODICE";"TS1_CODICE";"TS3_CODICE";"ART_CODICE";"DATA_INIZIO";"DATA_FINE";"PREZZO";"TSM_CODICE"
"00055615";"";"310";"";"01/01/1990";"31/12/2999";"0.000000";"40"
"";"2";"310";"";"01/01/1990";"31/12/2999";"0.000000";"10"
"";"2";"311";"";"01/01/1990";"31/12/2999";"0.000000";"10"
"";"2";"312";"";"01/01/1990";"31/12/2999";"0.000000";"10"
"";"2";"420";"";"01/01/1990";"31/12/2999";"0.000000";"10"
"";"2";"421";"";"01/01/1990";"31/12/2999";"0.000000";"10"
"";"2";"422";"";"01/01/1990";"31/12/2999";"0.000000";"10"

How can I correctly export DATE and DECIMAL fields without '"' ?

Example:

"CLI_CODICE";"TS1_CODICE";"TS3_CODICE";"ART_CODICE";"DATA_INIZIO";"DATA_FINE";"PREZZO";"TSM_CODICE"
"00055615";"";"310";"";01/01/1990;31/12/2999;0.000000;"40"

Thanks

0

There are 0 best solutions below