为什么REGEXP_LIKE函数将字母"e"视为大写而不是小写? [英] Why does the REGEXP_LIKE function treat the letter 'e' as upper case instead of lower case?
本文介绍了为什么REGEXP_LIKE函数将字母"e"视为大写而不是小写?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的pl/sql脚本中,当通过[:upper:]字符类语法进行搜索时,Oracle将字母'e'视为大写字母.
In my pl/sql script Oracle treats the letter 'e' as upper case when searching by the [:upper:] Character Class Syntax.
即
REGEXP_LIKE('e', '[:upper:]')
REGEXP_LIKE('e', '[:lower:]')
相关的Oracle文档可以在这里找到:
Related Oracle docs can be found here:
推荐答案
当字符类用方括号[]
包围时,它们似乎起作用:
The character classes seem to work when you surround them with brackets []
as in :
SQL> SELECT * FROM dual WHERE regexp_like('e', '[[:upper:]]');
DUMMY
-----
SQL> SELECT * FROM dual WHERE regexp_like('E', '[[:upper:]]');
DUMMY
-----
X
当您使用单括号时,Oracle将其视为字符列表,即由于u
包含在字符串:upper:
中,因此可以进行以下操作:
When you use single brackets Oracle treats them as a list of characters, i-e the following works because u
is contained in the string :upper:
:
SQL> SELECT * FROM dual WHERE regexp_like('u', '[:upper:]');
DUMMY
-----
X
这篇关于为什么REGEXP_LIKE函数将字母"e"视为大写而不是小写?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文