相关疑难解决方法(0)

具有连字符的 Oracle 正则表达式在 Windows 上给出的结果与 Unix 上的结果不同

我有以下带有正则表达式的查询:

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)

regex oracle sqlplus

5
推荐指数
1
解决办法
2230
查看次数

标签 统计

oracle ×1

regex ×1

sqlplus ×1