我正在使用我的 java 代码读取表格并从中创建一个 csv 文件。所以我转换的 4 行类似于下面 -sam , 18 , banker , He likes to play football jam , 28 , hacker , he likes nothing但是在某些情况下,当最后一个 varchar2 列包含 \n 时,它会变成这样sam , 18 , banker , He likes to play football jam , 28 , hacker , he likes nothing当我尝试读取文件时,每行一次读取一行,由于很少有单词被推送到后续行,因此我无法解析数据。有没有办法在我的查询中的列中转义换行符以使其成为一行?我的sql查询select name , age , job , hobbies from person_details我正在使用 csvwriter 生成 csv 文件 -CSVWriter csvWriter = new CSVWriter(new FileWriter(results), DELIMITER, Character.MIN_VALUE, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.DEFAULT_LINE_END);我使用下面的删除换行符。然而,也在寻找保护它们的方法——replace (replace (hobbies, chr (13), ''), chr (10), ' ')
3 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
使用REPLACE或TRANSLATE函数:
SELECT NAME, AGE, JOB, REPLACE(HOBBIES, CHR(10), '')
FROM PERSON_DETAILS
或者
SELECT NAME, AGE, JOB, TRANSLATE(HOBBIES, 'x' || CHR(10) || CHR(12) || CHR(13), 'x')
FROM PERSON_DETAILS -- LF FF CR
TRANSLATE如果您要进行多个翻译,则非常有用。在这里,我增加了响应以消除 HOBBIES 中的回车、换页和换行。
阿波罗的战车
TA贡献1862条经验 获得超6个赞
\n
查询时删除。使用以下查询。
select name , age , job , REPLACE(hobbies,CHR(10),'') "hobbies" from person_details
添加回答
举报
0/150
提交
取消