Oracle SQL Developer에서 regexp_substr 및 instr을 사용하여 데이터베이스에서 값을 가져 와서 오른쪽에서 왼쪽으로 첫 번째 "/"로 이동 한 다음 값을 오른쪽으로 사용하려고합니다. Oracle SQL Developer의 Oracle INSTR이 작동하지 않습니다.
table name: access_log
col name: download
value: Download file:/webdocs/data/groupXXX/case/03_28_54_9_0000011856.pdf
나는 값의 바로
03_28_54_9_0000011856.pdf 일부와 끝까지 노력하고 있어요. 나는 다음과 같은 SQL이 있습니다
select regexp_substr(download, '(.*)/', instr(download,'/',1,4)+1,1,'i',1)
from access_log;
하지만 SQL Developer에서 다음과 같은 오류가 점점 오전 :
ORA-00939: too many arguments for function
00939. 00000 - "too many arguments for function"
*Cause:
*Action:
나는이 오류가 무엇입니까 내가이 일을 할 수있는 방법 왜 누군가가 말해 주시겠습니까
'download' 컬럼의 유형은 무엇입니까? – Dmitry
실제 사용 케이스에'REGEXP_INTSTR'과'INSTR'의 조합을 강제하는 것이 있습니까? – Abecee
쉬운 접근법 :'regexp_replace (다운로드, '. * /', '') –