小编典典

为什么REGEXP_LIKE函数将字母“ e”视为大写而不是小写?

sql

在我的pl / sql脚本中,当通过[:upper:]字符类语法搜索时,Oracle将字母’e’视为大写。

IE

REGEXP_LIKE('e', '[:upper:]')

REGEXP_LIKE('e', '[:lower:]')

相关的Oracle文档可以在这里找到:

Oracle-
多语言正则表达式语法

甲骨文-
REGEXP_LIKE


阅读 180

收藏
2021-04-22

共1个答案

小编典典

当您将字符类用方括号括起来时,这些字符类似乎可以工作[]

SQL> SELECT * FROM dual WHERE regexp_like('e', '[[:upper:]]');

DUMMY
-----

SQL> SELECT * FROM dual WHERE regexp_like('E', '[[:upper:]]');

DUMMY
-----
X

当您使用单括号时,Oracle将它们视为字符列表,即,由于u字符串中包含以下内容,因此可以进行以下操作:upper:

SQL> SELECT * FROM dual WHERE regexp_like('u', '[:upper:]');

DUMMY
-----
X
2021-04-22