oracle特殊字符替换用chr
实现:字符串1;2;3;4;5转换成('1','2','3','4','5')。
--查询特殊符对应的ascii码。SELECT ascii('''') FROM dual;
39
SELECT '('||''''||replace('1;2;3;4;5',';',chr(39)||chr(44)||chr(39))||''''||')'
FROM dual;
SQL> DECLARE
2 v_str varchar2(1000);
3 v_str1 varchar2(1000);
4 --v_str2 varchar2(20);
5 --v_str3 varchar(1000);
6 begin
7 --v_str_1=''';
8 --v_str_2='''';
9 v_str := '1;2;3;4;5';
10 v_str1 := replace(v_str,';',chr(39)||chr(44)||chr(39));
11 v_str := '('||''''||v_str1||''''||')';
12 dbms_output.put_line(v_str);
13 end;
14 /
('1','2','3','4','5')
PL/SQL procedure successfully completed
REPLACE用法:
语法:
REPLACE(<string>, <'string_to_match'>,<'replacements_string'>)
解释:string中,每个string_to_match都被replacements_string所代替