mysql 정규식 질문드립니다! 0 3 1,379

by 대한민국1 [MySQL] Mysql 정규식 [2022.09.27 21:01:21]


file.txt
file (1).txt
wefile.txt
wefile (1).txt
file (2).txt
file-service.txt
file-service (1).txt

 

위와같은 형태의 값이 있는데..

file (1).txt, file (2).txt

위 2개의 값만 추출해오고싶을 때 정규식을 어떤식으로 적용해야하나요...?

by 마농 [2022.09.28 10:02:02]

해당 2건만 검색되어야만 하는 필수 조건을 알려주세요.
지금 질문대로만 한다면 단순 하게 IN 조건 걸면 됩니다.
 WHERE name IN ('file (1).txt', 'file (2).txt')


by 대한민국1 [2022.09.28 11:23:33]

파라미터로 file 이라는 prefix와 .txt로 되어있는 extension을 받아서 검색이 필요합니다!
{1} (숫자).{2} 형태가 될 것 같네요...


by 마농 [2022.09.28 12:10:58]
WITH t AS
(
SELECT 'file.txt' file_name
UNION ALL SELECT 'file (1).txt'
UNION ALL SELECT 'wefile.txt'
UNION ALL SELECT 'wefile (1).txt'
UNION ALL SELECT 'file (2).txt'
UNION ALL SELECT 'file-service.txt'
UNION ALL SELECT 'file-service (1).txt'
)
SELECT file_name
  FROM t a
     , (SELECT 'file' prefix, '.txt' extension) b
 WHERE REGEXP_INSTR(file_name, CONCAT('^', prefix, ' [(][0-9]+[)]', extension, '$')) = 1
;

 

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