我将在一条语句中使用regex_count和regex_like,但首先我需要让count工作。我不明白为什么当这些是有效的列,正确的括号数量,并且我有撇号的时候,它会增长一个错误。也使用Oracle SQL Developer。
select employee_name, LTRIM(street)
from employee
where
regexp_count( street, '[[:digit:]]' );ORA- 00920 :关系运算符00920无效。00000 -“无效的关系运算符”*原因:
*操作:第4行错误第37列
我真正想做的是从街道中删除所有起始街道编号并返回结果集。我打算在下面使用它,然后弄清楚如何将它提供给子字符串函数,以获得我正在寻找的结果集。有什么建议吗?
select employee_name, LTRIM(street)
from employee
where
regexp_like ( street, '[[:digit:]]', 1, regexp_count( street, '[[:digit:]]' ) );发布于 2016-02-12 22:59:15
REGEXP_COUNT()返回整数,而不是布尔值。因此,您需要进行比较:
select employee_name, LTRIM(street)
from employee
where regexp_count( street, '[[:digit:]]' ) > 1;如果只进行> 0比较,那么您不需要计算模式的数量。只需使用regexp_like()即可。
如果要删除前导数字,请使用regexp_substr()
select regexp_substr(street, '[^[:digit:]].*')https://stackoverflow.com/questions/35365653
复制相似问题