我有以下带有正则表达式的查询:
select REGEXP_REPLACE ('TEST 3304 V2', '[`~!@#$%^&*()_+-={}|;.:<>?,./]', ' ') as REG
from dual;
Run Code Online (Sandbox Code Playgroud)
当在Windows机器上通过 SQL*Plus 执行时,它返回以下内容:
SQL> select REGEXP_REPLACE ('TEST 3304 V2', '[`~!@#$%^&*()_+-={}|;.:<>?,./]', ' ') as REG from dual;
REG
------------
TEST 3304 V2
Run Code Online (Sandbox Code Playgroud)
在SunOS机器上我得到不同的结果:
SQL> select REGEXP_REPLACE ('TEST 3304 V2', '[`~!@#$%^&*()_+-={}|;.:<>?,./]', ' ') as REG from dual;
REG
------------
TEST V
Run Code Online (Sandbox Code Playgroud)
这些查询针对同一 Oracle 服务器运行。输出差异有什么原因吗?
Windows 上的 SQL*Plus 版本:
SQL*Plus: Release 11.2.0.1.0 Production on Mar. Oct. 14 15:36:35 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved. …Run Code Online (Sandbox Code Playgroud)