파일 경로는 DB에 저장되어있는데, 파일 이름이나 확장자명이 따로 없는 경우가 있다.
이런 경우 여러 방법이 있겠지만 아래와 같은 경우에 사용할 수 있는 방법이다.
예를 들어 파일명이
[ e-sign/Approval/Attach/2022/07/22/20220722042000281_maven 오류.pdf ]
와 같을 때, 파일 경로 컬럼 명이 LOCATION이라고 가정해보자. 그 때,
select substring_index(LOCATION,'/',-1) as file_name from 해당table;
으로 조회하면 마지막 / 이후의 값이 출력된다. (20220722042000281_maven 오류.pdf)
substring_index에서 첫 파라미터로 컬럼이 들어가고(LOCATION), 두 번째로 '/' 는 구분자로 구분해서 담아놓게끔 하고
마지막 -1은 맨 뒤를 뜻한다고 생각하면 된다. 그럼 처음이나 두 번째 인덱스 값을 원하면 -1 자리에 0이나 1을 넣으면 될 것 이다.
이 함수를 사용하기 전
먼저 조회해서 규칙을 찾는 것이 중요하다. 구분자나 규칙을 먼저 찾아서 substring_index를 사용할 수 있는지 부터 봐야하기 때문.
마찬가지로 확장자의 경우 같은 예시라고 했을 때, 구분자를 마침표로 하여서 조회하면 된다. (pdf 출력)
select substring_index(LOCATION,'.',-1) as extention from 해당table;
'개발 > Database' 카테고리의 다른 글
[MySQL] Prepared statement needs to be re-prepared 에러 해결방법 (0) | 2022.11.07 |
---|---|
[MariaDB, MySQL] REGEXP_REPLACE 정규식 사용법 (0) | 2022.10.30 |
[SQL] Oracle SQL Developer에서 MySQL 연동 (0) | 2021.12.10 |
Oracle port 변경 (0) | 2021.12.03 |
[SQL] DML, DDL, DCL, TCL 재정리 (0) | 2021.12.01 |
댓글