안녕하세요. 오라클 쿼리 질문 드립니다.. ^^ 6

by 달빛그림자 [SQL Query] [2022.04.08 12:27:23]


아래 그림을 보면.. TEST 라는 테이블에 ID, PATH 컬럼이 있습니다. 

제가 원하는것은 PATH 컬럼의 데이타 내용중 확장자를 없애고... KKK 란 컬럼에 내용을 보고 싶습니다.. 

TRUNC 등 이것저것 해 봤는데도 잘 안되네요..  부탁 드립니다..  ^^

 

by 마농 [2022.04.08 13:03:23]
WITH t AS
(
SELECT 100 id, 'd:\aaaaa.txt' path FROM dual
UNION ALL SELECT 101, 'c:\bbbbbb.xls' FROM dual
UNION ALL SELECT 102, 'd:\ccc.txt'    FROM dual
)
SELECT id
     , path
     , SUBSTR(path, 1, INSTR(path, '.', -1) - 1) x
     , REGEXP_REPLACE(path, '[.][^.]+$') x
  FROM t
;

 


by 달빛그림자 [2022.04.08 13:20:26]

와~~~ 마농님~~  정말 고맙습니다..  SQL 달인이십니다~~~ 감사합니다.. ^^ 


by 달빛그림자 [2022.04.08 14:18:53]

마농님..
한가지 궁금한게 있는데요..  3개의 함수를 사용해서 풀었는데.. (SUBSTR, INSTR, REGEXP_REPLACE) 
넘 고급 SQL 문장인것 같네요~~~~~ (암튼 감사드립니다...) 

혹시..  좀  쉬운 SQL 문장으로  상기 문제를 풀 수 있는 방법은 없을까요???  (예를들면 함수 1개나 2개로 좀 무식한 방법일지라도...) 

항상 고맙고 감사하게 생각합니다~~~ ^^


by 마농 [2022.04.08 14:21:21]

정규 표현식은 별도의 공부가 필요합니다.
INSTR 과 SUBSTR 각 함수의 의미를 파악하고 응용하면 어렵지 않습니다.


by 달빛그림자 [2022.04.08 15:32:49]

예.. 감사합니다.. 제가 직접 한번 해볼께요~~~ ^^


by 달빛그림자 [2022.04.08 16:14:08]

마농님이 보내주신걸 지금 사무실에 들어와 이제 실행했네요~~~  2가지로 정답을 해 주셨네요~~~   
넘넘 고맙습니다..   좋은  주말 보내세요~~~ ^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입