当我将 table 导出为 CSV 时,Informix 'UNLOAD TO' 生成反斜杠
Informix 'UNLOAD TO' generates backslashes when I export table as CSV
每当我尝试将 table 从 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
如果有人知道如何解决这个问题,我将不胜感激。
这是因为此列的值中包含换行符。
您可以使用 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 时,第二个参数中的两个第一个引号之间只有一个换行符,第三个参数是您要替换换行符的值。
每当我尝试将 table 从 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
如果有人知道如何解决这个问题,我将不胜感激。
这是因为此列的值中包含换行符。
您可以使用 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 时,第二个参数中的两个第一个引号之间只有一个换行符,第三个参数是您要替换换行符的值。