我正在研究Oracle 10gR2.
我正在处理存储用户名的列.假设此列中的一个值是"Ankur".我想获取所有记录,其中username是"Ankur"的连接字符串,后跟一些数字,如"Ankur1","Ankur2","Ankur345"等.我不想获取具有诸如"Ankurab1"之类的值的记录 - 这是将某些字符连接到我的输入字符串的任何内容.
我试图使用REGEX函数来实现所需的结果,但我无法做到.
我在努力:
SELECT 1 FROM dual WHERE regexp_like ('Ankur123', '^Ankur[:digit:]$');
Run Code Online (Sandbox Code Playgroud)
有人能帮我一下吗?
Oracle使用POSIX ERE(不支持常用的\d简写),因此您可以使用
^Ankur[0-9]+$
Run Code Online (Sandbox Code Playgroud)
您的版本几乎也可以使用:
^Ankur[[:digit:]]+$
Run Code Online (Sandbox Code Playgroud)
一组[...]用于字符类,一组用于[:digit:]子集.当然是+允许超过一位数.