首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL错误ORA-00920:关系运算符无效,我不知道原因

SQL错误ORA-00920:关系运算符无效,我不知道原因
EN

Stack Overflow用户
提问于 2016-02-12 22:57:28
回答 1查看 720关注 0票数 0

我将在一条语句中使用regex_count和regex_like,但首先我需要让count工作。我不明白为什么当这些是有效的列,正确的括号数量,并且我有撇号的时候,它会增长一个错误。也使用Oracle SQL Developer。

代码语言:javascript
复制
select employee_name, LTRIM(street)
from employee
where 
regexp_count( street, '[[:digit:]]' );

ORA- 00920 :关系运算符00920无效。00000 -“无效的关系运算符”*原因:

*操作:第4行错误第37列

我真正想做的是从街道中删除所有起始街道编号并返回结果集。我打算在下面使用它,然后弄清楚如何将它提供给子字符串函数,以获得我正在寻找的结果集。有什么建议吗?

代码语言:javascript
复制
select employee_name, LTRIM(street)
from employee
where 
regexp_like ( street, '[[:digit:]]', 1, regexp_count( street, '[[:digit:]]' ) );
EN

回答 1

Stack Overflow用户

发布于 2016-02-12 22:59:15

REGEXP_COUNT()返回整数,而不是布尔值。因此,您需要进行比较:

代码语言:javascript
复制
select employee_name, LTRIM(street)
from employee
where regexp_count( street, '[[:digit:]]' ) > 1;

如果只进行> 0比较,那么您不需要计算模式的数量。只需使用regexp_like()即可。

如果要删除前导数字,请使用regexp_substr()

代码语言:javascript
复制
select regexp_substr(street, '[^[:digit:]].*')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35365653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档