有没有办法从表中选择SELECT,以便我可以指定前缀并将“%”限制为仅数字
所以,如果我有
column
------
abc123
abc124
abc0023
abcdef
如果我喜欢SELECT * FROM TABLE WHERE column LIKE 'abc%'
,那么它会找到所有这些。
我只想要带有数字后缀的那些。事实上,如果重要的话,我真的想要MAX()。
前缀可以是任何长度的字符串。
答案 0 :(得分:4)
您可以使用regexp_like()
:
where regexp_like(column, '[0-9]+$')
这只是说该列以一位或多位数结尾。
答案 1 :(得分:1)
看到你在Gordon回答中留下的评论后,你似乎想做这样的事情:
SQL> with test (col) as
2 (select 'abc123' from dual union
3 select 'ABc124' from dual union
4 select 'ABC0023' from dual union
5 select 'ABCdef' from dual
6 )
7 select col
8 from test
9 where regexp_like(col, 'abc\d+$', 'i');
COL
-------
ABC0023
ABc124
abc123
它做了什么?
abc
代表您正在寻找的字符串\d+
代表任意数字$
表示该号码必须放在COL i
表示搜索不区分大小写