如何在Oracle的一个select语句中编写两个替换函数

时间:2011-10-14 11:02:09

标签: sql oracle oracle10g

我想在一个select语句中替换两个东西。现在我可以一次替换一个角色。但是根据我的要求,我需要在一个语句中替换两个东西。我想用零替换一个特殊字符,另一个是将这些数据存储在多行中。我想在一行中获取这些数据。

select replace(message,chr(ACII_Value),0) 
from my_table -- I can replace special character by zero using this.

select (message,chr(10),' ') 
from my_table -- I can put all data in single line using this.

现在我想在一个select语句中执行此操作。

2 个答案:

答案 0 :(得分:6)

select replace( replace( message, chr(ACII_Value), 0), chr(10), ' ') 
from my_table;

答案 1 :(得分:1)

另一种选择是TRANSLATE功能:

select translate(message, chr(ASCII_Value)||chr(10), '0 ') from my_table;

虽然如果你只更换两个字符,我会选择@ schurik的答案,因为它使用了一个更简单,更常见的功能。