0

我试图解释为什么 Oracle 驱动程序默认情况下将结束行字符“\n”转义为转义字符串“\\n”,这使得“\n”在我打印时显示出来。除了在打印之前简单地将“\\n”替换为“\n”之外,我还想获得一些关于如何以优雅的方式处理它的建议。

额外信息:
- Oracle 驱动程序:ojdbc6.jar
- Java 1.6.0_18 和 1.7.0_45

示例:
- DB "column1" 数据 = line1\nline2\nline3

java.sql.PreparedStatement stmt = conn.prepareStatement("SELECT column1 FROM TABLE1");  
java.sql.ResultSet rs = stmt.executeQuery();  
while (rs.next()) {  
   rs.getString(1); // it returns line1\\nline2\\nline3 
}

感谢任何帮助,
干杯

4

1 回答 1

2

如果 SQL*Plus 的输出显示 \n 并且实际上没有开始新行,那么您\n在数据库中存储了两个字符“”而不是实际的换行符。

请参阅http://www.unix.com/unix-advanced-expert-users/56212-sqlplus-output-new-line-character.html提问者想要摆脱其数据库中的实际换行符的地方。

于 2014-03-17T16:24:46.470 回答