swlee710님 답변에 첨언을 하면... Show -n을 넣으면 뒤에서 원하는 n번째 것을 가져 오겠네요.. SELECT regexp_substr(txt,'[^ ]+',1,regexp_count(txt,' ')+2-1) A1 , regexp_substr(txt,'[^ ]+',1,regexp_count(txt,' ')+2-2) A2 , regexp_substr(txt,'[^ ]+',1,regexp_count(txt,' ')+2-3) A3 , regexp_substr(txt,'[^ ]+',1,regexp_count(txt,' ')+2-4) A4 FROM (SELECT 'A B C D' TXT FROM DUAL) ;
정규표현식으로 원하는 문자열을 찾고 싶은데, 문자열에서 가장 마지막으로 찾은 값을 가져오고 싶을 때에는 어떻게 하면 좋을까요? 일반적인 프로그램에서는 해당 언어/라이브러리에서 제공하는 기능을 이용해서 가장 마지막으로 찾은 값을 가져올 수 있겠지만, Oracle DBMS에서는 지원하지 않았습니다. 찾으려는 문자열은 다음과 같았습니다. 일종의 배열인데, "|"를 구분자로 사용한 것입니다.
참고로 배열의 첫번째 요소를 찾을 때에는 다음과 같이 합니다.
쿼리문 테스트는 https://livesql.oracle.com에서 해보실 수 있습니다. 이 블로그의 인기 게시물 특정 프로세스를 강제 종료 하려는데... "실행 중인 작업 인스턴스가 없습니다." 이런 메시지가 나타나면서 종료가 안되는 문제가 있었습니다. 작업 관리자에서 "프로세스 종료", "프로세스 트리 종료" 해봐도 안되고, cmd에서 taskkill 해봐도 안되고... 그런데 이게 부모 프로세스를 종료하면 자동으로 종료가 되네요.. (제 경우에는 Visual Studio가 부모 프로세스였습니다. ㅋ) 참고: DEVPIA http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=917792&ref=917791
Visual Studio 2010에서 빌드하면서 exe 파일과 함께 pdb 파일이 생겼습니다. 디버그에 사용된다는 것 외에는 잘 모르고 있었는데, 현재 실행 중인 프로그램을 디버그 할 일이 생겨서 사용법을 찾아보았습니다. 복잡한 내용은 잘 모르겠지만, 다음과 같은 방법으로 디버깅을 시작할 수 있었습니다. 빌드하면서 생성된 exe 파일과 pdb 파일을 잘 보관합니다. (두 파일은 짝을 이룹니다.) 디버그할 exe 파일을 실행합니다. exe 파일과 같은 위치에 "1."의 pdb 파일을 복사해둡니다. Visual Studio 2010을 실행하고, 해당 프로그램의 솔루션을 엽니다. "Windows 작업 관리자"를 실행합니다. 현재 실행 중인 exe 파일의 프로세스를 찾습니다. 찾았으면, 우클릭해서 "디버그"를 선택합니다. 디버거를
연결하겠냐는 확인 창에서 "디버거 연결"을 선택합니다. 그러면 연결할 디버거를 선택하는 화면이 나타나는데, "4."에서 솔루션을 열어둔 인스턴스(Visual Studio 2010 프로그램)를 선택합니다. ※ 만약 exe 파일과 pdb 파일이 서로 다른 빌드 때 생성된 것이라면 디버깅할 수 없습니다. 참고 Visual Studio 로 디버깅하는 방법 Debugging With Minidump url에서 도메인만 추출하려면 다음의 방법을 이용하시면 편리합니다. var domain = "주소"; var pattern = /^http:\/\/([a-z0-9-_\.]*)[\/\?]/i; domain = domain.match(pattern); domain = domain[1]; domain =
domain.replace("www.", ""); // "www."도 필요없는 경우. All thing of the world!IT/Oracle DBMS Oracle REGEXP_SUBSTR 설명 : 오라클 함수WorldSeeker 2021. 3. 31. 09:11 1.
함수의 목적
example2) subexpr 인수를 사용하여 패턴의 특정 서브표현식을 리턴한다. pattern의 첫번째 서브표현식을 리턴한다. 이 블로그의 광고수익은 고아/조손가정/한부모가정의 어린 꿈나무들의 교육후원에 사용합니다. 여러분의 광고 클릭 하나가 어려운 환경에 놓여 배움의 기회조차 박탈당한 아이들을 돕는데 큰 힘이 됩니다. 따뜻한 마음으로 광고 한 번씩 클릭 부탁드립니다. |