Oracle SQL - 查找并替换 ASCII
Oracle SQL - find and replace ASCII
在我的数据库中,使用这些 ASCII 值插入了特殊字符
ASCII(' ') ASCII('')
49828 32
列描述中显示的 ASCII 值 49828 显示为特殊字符 ¤
如何找到所有具有此特殊字符的值?以及如何用常规 space (ASCII 32)
替换它
我会说你会使用 REPLACE
(正如你所说)。
样本table:
SQL> create table test (col) as
2 select 'x' || chr(67) || 'y' from dual union all
3 select 'x' || chr(49828) || 'y' from dual;
Table created.
内容(忽略 my SQL*Plus 和我的数据库中显示的 Ą
:
SQL> select * from test;
COL
----
xCy
xĄy
仅更新包含该值的行:
SQL> update test set
2 col = replace(col, chr(49828), chr(32))
3 where instr(col, chr(49828)) > 0;
1 row updated.
结果:
SQL> select * from test;
COL
----
xCy
x y
SQL>
在我的数据库中,使用这些 ASCII 值插入了特殊字符
ASCII(' ') ASCII('')
49828 32
列描述中显示的 ASCII 值 49828 显示为特殊字符 ¤
如何找到所有具有此特殊字符的值?以及如何用常规 space (ASCII 32)
替换它我会说你会使用 REPLACE
(正如你所说)。
样本table:
SQL> create table test (col) as
2 select 'x' || chr(67) || 'y' from dual union all
3 select 'x' || chr(49828) || 'y' from dual;
Table created.
内容(忽略 my SQL*Plus 和我的数据库中显示的 Ą
:
SQL> select * from test;
COL
----
xCy
xĄy
仅更新包含该值的行:
SQL> update test set
2 col = replace(col, chr(49828), chr(32))
3 where instr(col, chr(49828)) > 0;
1 row updated.
结果:
SQL> select * from test;
COL
----
xCy
x y
SQL>