为了账号安全,请及时绑定邮箱和手机立即绑定

在 SQL 查询中转义换行符

在 SQL 查询中转义换行符

一只名叫tom的猫 2021-06-09 22:33:55
我正在使用我的 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 中的回车、换页和换行。


查看完整回答
反对 回复 2021-06-17
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

\n查询时删除。使用以下查询。

select name , age , job , REPLACE(hobbies,CHR(10),'') "hobbies" from person_details


查看完整回答
反对 回复 2021-06-17
  • 3 回答
  • 0 关注
  • 270 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信