由于我正在越来越多地学习编程语言中的正则表达式,特别是我们可以从字符串操作中获取的所有性能优势,我看到Oracle当然支持正则表达式。
但是在PeopleSoft(4层)上,在“查询管理器”中,我们只能选择“喜欢”操作符,当然,每次我们使用它时,查询性能都会急剧下降(逻辑)......
是否有人知道这是否可以作为参数激活,或者根本不存在,对于“普通”最终用户来说过于复杂?
答案 0 :(得分:1)
从性能角度来看,REGEXP_LIKE与LIKE没有什么不同。它甚至不太可能使用索引。它可能会返回一个更集中的结果集。
PeopleSoft查询管理器(4层)面向非技术人员。许多程序员在理解正则表达式时遇到问题:我认为不能编写SQL的人会真正 与正则表达式斗争。
答案 1 :(得分:0)
迟到总比没有好,但是为了记录,我在PeopleSoft Query中使用正则表达式(即使在2层模式下)。你需要使用" EQUAL TO"运算符并输入您的正则表达式作为PeopleSoft查询表达式值。
对于特定报告,我必须让用户输入最多5个学位结算状态(DEGR_CHKOUT_STAT)的提示参数。根据学校和运行报告的用户更改了特定值和值的数量。
我创建了一个30个字符长的提示符(以下简称:3)并将其命名为DEGR_CHKOUT_STAT。您可以发送" AW,PN,IR,EG,AG"或只是" AW"对于提示:3并且查询有效。
表达式1:A.DEGR_CHKOUT_STAT 接线员:等于 表达式2:ANY(REGEXP_SUBSTR(:3,' [^,] +' 1,1),REGEXP_SUBSTR(:3,' [^,] +',1, 2),REGEXP_SUBSTR(:3,' [^,] +',1,3),REGEXP_SUBSTR(:3,' [^,] +',1,4) ,REGEXP_SUBSTR(:3,' [^,] +',1,5))
由于我是新手,我没有足够的声望点来发布图片,但我可以根据要求通过电子邮件发送给您。