Informix 'UNLOAD TO' генерирует обратную косую черту, когда я экспортирую таблицу как CSV - PullRequest
1 голос
/ 30 января 2020

Всякий раз, когда я пытаюсь экспортировать таблицу из базы данных Informix в файл CSV, я обнаруживаю, что созданный файл содержит обратную косую черту. Это запрос, который я использовал:

UNLOAD TO 'C:/Documents and Settings/XXXX/XXXX/test.txt' DELIMITER '|'
select * from xxx

Это пример результатов, которые я получаю в файле CSV

A|B|C|D|E|F\
This\
Is\
SOME\
TEXT\
|
A2|B2|C3|D4|E5|F6

Если кто-нибудь знает, как решить эту проблему, я был бы очень признателен это.

1 Ответ

2 голосов
/ 30 января 2020

Это потому что символы новой строки в значениях этого столбца. Вы можете удалить переводы строки с помощью функции replace.

Сначала вы должны включить перевод строки в цитируемых строках, запустив эту хранимую процедуру

EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T');

Затем вы можете использовать replace для удаления (или изменения). другому символу) переводы строки из столбца, в котором есть символы новой строки (в данном примере это column3 )

UNLOAD TO 'C:/Documents and Settings/XXXX/XXXX/test.txt' DELIMITER '|'
SELECT column1, column2, replace(column3, "
", "") 
  FROM xxx

Обратите внимание, что в вызове функции replace только новая строка между двумя первыми кавычками во втором параметре третий параметр - это значение, для которого вы хотите заменить символы новой строки.

...