MYSQL экспортирует напрямую в CSV, Excel отображает форматированные значения как ######## и нули как N

#mysql #csv #into-outfile

#mysql #csv #в-outfile

Вопрос:

Я использую SELECT INTO OUTFILE для извлечения строк из базы данных в CSV.

У меня есть пара проблем, с которыми я пытаюсь справиться.

Во-первых, я форматирую значения валюты в формате «$ 135 300,00»

Когда я открываю csv в Excel, он показывает все поля валюты как «########» до тех пор, пока на них не нажмут.

Кроме того, нулевые значения вставляются как » N», я бы хотел, чтобы они были просто пустыми.

Спасибо за любую помощь, которую вы можете предоставить.

Комментарии:

1. Мое поле даты также делает то же самое… Форматированный как «2011-10-19» в конечном итоге становится «19.10.2011», но изначально отображается как «########»

Ответ №1:

#### вещь — это функция Excel. Он показывает любые значения как таковые, когда ячейка слишком мала, чтобы отобразить полное число. Просто увеличивайте ширину столбца до тех пор, пока ячейки не станут достаточно большими.

Что касается n вещи, в ссылке говорится

Если ПОЛЯ, ЭКРАНИРУЕМЫЕ символом, пусты, никакие символы не экранируются, а NULL выводится как NULL, а не N.

Так что вы, вероятно, используете a FIELDS ESCAPED BY в запросе. Это помогло бы увидеть полный запрос, который вы используете.

Комментарии:

1. Спасибо! Вызовет ли удаление ЭКРАНИРОВАННОГО предложения BY проблемы, если в значения включены символы вложения и т. Д.?

2. Я получил его, возвращая NULL, но если я предпочитаю, чтобы значения NULL были просто пустыми?

3. Вы могли бы сделать SELECT IFNULL( field, "" ) FROM ...